我有一个
contants.groovy
文件如下
def testFilesList = 'test-package.xml'
def testdataFilesList = 'TestData.xml'
def gitId = '9ddfsfc4-fdfdf-sdsd-bd18-fgdgdgdf'
我有另一个 groovy 文件,将在 Jenkins 管道作业中调用
def constants
node ('auto111') {
stage("First Stage") {
container('alpine') {
script {
constants = evaluate readTrusted('jenkins_pipeline/constants.groovy')
def gitCredentialsId = constants."${gitId}"
}
}
}
}
但是
constants."${gitId}"
表示“无法从空对象获取gitID”。我怎样才能得到它?
@Field
将它们变成字段。
import groovy.transform.Field
@Field
def testFilesList = 'test-package.xml'
@Field
def testdataFilesList = 'TestData.xml'
@Field
def gitId = '9ddfsfc4-fdfdf-sdsd-bd18-fgdgdgdf'
return this;
然后在主脚本中,您应该使用
load
步骤加载它。
script {
//make sure that file exists on this node
checkout scm
def constants = load 'jenkins_pipeline/constants.groovy'
def gitCredentialsId = constants.gitId
}
您可以在这个答案
中找到有关变量范围的更多详细信息groovy 文件
lib.groovy
:
varFoo = "bar"
return this
精彩主要:
lib = load "lib.groovy"
print("${lib.varFoo}")