仅在Jenkins管道中的阶段A失败时如何触发阶段B

时间:2020-08-01 07:57:04

标签: jenkins jenkins-pipeline

我在詹金斯管道计划中有两个阶段。 阶段A,然后阶段B。 我只想在阶段A失败的情况下触发阶段B。如果阶段A成功,则跳过阶段B。 我该如何做到这一点?

2 个答案:

答案 0 :(得分:1)

尝试如下:

def stageA_Fail = false

pipeline {
 stages {
   stage('A') {
     steps {
       script {
         try {
            // put all steps of stage A in try
         }
         catch() {
           stageA_Fail = true
         }
       }
     }
   }
 
   stage('B') {
     when {expression {return stageA_Fail} }
     steps {}
   }
 }
}

答案 1 :(得分:0)

您可以使用try and catch块,并将阶段B放入catch块。您仍然需要捕获错误/异常