首页 > 解决方案 > 如果一个阶段或步骤也失败,则执行所有阶段和步骤

问题描述

我正在设置下面提到的 Jenkins 管道。如果第一阶段失败,我的构建将中止,但我想执行第一阶段中提到的所有阶段和步骤。

pipeline {
agent none

stages {
    stage("build and test the project") {
        agent {
            docker "coolhub/vault:jenkins"
        }
        stages {
           stage("build") {
               steps {
                   sh 'echo "build.sh"'
               }
           }
           stage("test") {
               steps {
                   sh 'echo "test.sh" '
               }
           }
        }
    }
  }
}

我想执行第一个阶段中提到的所有阶段和步骤。毕竟,阶段被执行然后最终需要中止詹金斯工作并显示失败的阶段和步骤。

标签: jenkins-pipeline

解决方案


是的,除了脚本中的 try catch 块之外,目前没有办法做到这一点。更多信息:忽略管道构建步骤中的失败

stage('someStage') {
    steps {
        script {
            try {
                build job: 'system-check-flow'
            } catch (err) {
                echo err
            }
        }
        echo currentBuild.result
    }
}

推荐阅读