我如何确保始终执行Jenkins管道阶段,即使之前的管道阶段失败了?

时间:2016-05-26 14:17:34

标签: jenkins groovy jenkins-pipeline

我正在寻找一个Jenkinsfile示例,即使上一步失败,也要执行一个始终执行的步骤。

我想确保在出现故障时归档一些构建结果,并且我需要能够在最后执行一个始终运行的步骤。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:7)

   try {
         sh "false"
    } finally {

        stage 'finalize'
        echo "I will always run!"
    }

答案 1 :(得分:4)

我们转而使用Jenkinsfile Declarative Pipelines,它允许我们这样做:

pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                sh './gradlew check'
            }
        }
    }
    post {
        always {
            junit 'build/reports/**/*.xml'
        }
    }
}

参考文献:

Tests and Artifacts

Jenkins Pipeline Syntax