如何在使用管道插件传播错误的同时在后台触发jenkins构建

时间:2016-07-19 14:20:28

标签: jenkins jenkins-workflow jenkins-pipeline

我正在尝试使用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
   }
}

对于循环中的每个值,我想要有不同的阶段(可见性)。 我现在已将构建调用的wait参数设置为false,但这会导致不传播任何错误。

对此有什么解决方案吗?

1 个答案:

答案 0 :(得分:1)

使用parallel步骤(每个分支调用一个build)并删除wait: false,而不是for循环。

failFast: true步骤中使用parallel,以便在第一个分支失败时立即停止构建。