我正在试验jenkins管道脚本。
我有一个工作会调用其他构建来部署东西。这是我的管道脚本
node {
stage 'retrieve deploy conf'
echo 'contacting deploy conf service'
def dbs = ['db1', 'db2', 'db3']
for (db in dbs){
stage 'deploy db ' + db
echo 'deploy db ' + db
build job: 'deploy db pipeline', wait: false, parameters: [[$class: 'StringParameterValue', name: 'db', value: db]]
}
def jbossApps = ['example-ear1', 'example-ear2']
for (app in jbossApps){
stage 'deploy jboss app ' + app
echo 'deploy jboss app' + app
build job: 'deploy app pipeline', wait: false
}
}
对于循环中的每个值,我希望有不同的阶段(为了可见性)。我现在已经将构建调用的等待参数设置为false,但这会导致不会传播任何错误。
对此有什么解决方案吗?
使用parallel
步骤(每个分支调用一个build
)并删除wait: false
,而不是for循环。
在parallel
步骤中使用failFast: true
可以在第一个分支失败时立即停止构建。