【发布时间】:2018-06-08 11:01:05
【问题描述】:
我有一个 Jenkins Job DSL 种子作业,它调用了几个管道作业,例如
pipelineJob("job1") {
definition {
cps {
script(readFileFromWorkspace('job1.groovy'))
}
parameters {
choiceParam('ENV', ['dev', 'prod'], 'Build Environment')
}
}
}
pipelineJob("job2") {
definition {
cps {
script(readFileFromWorkspace('job2.groovy'))
}
parameters {
choiceParam('ENV', ['dev', 'prod'], 'Build Environment')
}
}
}
job1.groovy 和 job2.groovy 是标准的 Jenkinsfile 样式管道。
我想将一些常见的地图传递给这些工作。这些包含可能因环境而异的东西,例如目标服务器、凭据名称。
类似:
def SERVERS_MAP = [
'prod': [
'prod-server1',
'prod-server2',
],
'dev': [
'dev-server1',
'dev-server2',
],
]
我可以在我的种子作业中定义一个地图,然后我可以在我的管道作业中将其作为地图传递和访问吗?
【问题讨论】:
标签: jenkins groovy jenkins-pipeline jenkins-job-dsl