目的:传入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执行完,再进入下次循环
该博客介绍了两种在Jenkins中执行job的方法。方法一是利用curl命令,方法二是通过Groovy编写的Jenkins流水线脚本,其中包含了参数化构建,允许用户输入job名称,并使用for循环并行执行多个job。脚本中的`propagate:false`和`wait:false`选项确保了错误不会停止流程且job能并行运行。
553

被折叠的 条评论
为什么被折叠?



