我在下面使用Jenkins管道代码来构建N +下游作业。 我正在寻找一种聪明的方法让这个管道接受用户参数。 提前谢谢!
def params_map = [
'key1': 'value1',
'key2': 'value2'
]
def branches = [:]
def build_job(k, v) {
return {
stage("Build job ${k}") {
node {
build job: 'downstream-job', parameters: [
string(name: "PARAM1", value: '${k}'),
string(name: "PARAM2", value: "${v}")
]
}
}
}
}
for (kv in mapToList(params_map)) {
branches[kv[0]] = build_job(kv[0], kv[1])
}
parallel branches
// Required due to JENKINS-27421
@NonCPS
List<List<?>> mapToList(Map map) {
return map.collect { it ->
[it.key, it.value]
}
}