目的:传入Jenkins的job名,根据job名执行job
实现:
方法一:使用curl命令
详见jenkins循环取参数执行构建命令_taoying220的博客-优快云博客_jenkins循环构建
方法二:使用流水线的build job实现
#!/usr/bin/env groovy
properties(
[parameters(
[string(defaultValue: "", description: "微服务名", name: "jobName")]
)]
)
node("slave2") {
withEnv(["PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin:/opt/apache-maven-3.5.4/bin"]) {
stage('gogogo'){
jobID = "${jobName}"
for (item in jobID.tokenize(',')){
echo "for里面的jobID = " + item
build propagate: false, wait: false, job: item
}
}
}
}
说明:
propagate: false 报错不停止
wait: false 不等待结果,为了达到并行运行的目的。不加这个就会等当前job执行完,再进入下次循环