【问题标题】:Continuous Integration pipeline持续集成管道
【发布时间】:2021-12-12 02:41:01
【问题描述】:

我希望在我的管道中触发 on_failure 步骤。我有一个非常简单的脚本。 2个资源和1个工作。该作业有一个运行步骤,我想在其中手动触发失败。我尝试了很多事情,但都导致了错误。

是否有一个 shell 脚本退出代码可以使任务失败并且不会出错

【问题讨论】:

标签: jenkins jenkins-pipeline concourse concourse-pipeline


【解决方案1】:

不可能触发postfailure 并且不会使构建失败:

failure

仅当当前 Pipeline 或阶段的运行处于“失败”状态时才运行 post 中的步骤,通常在 Web UI 中用红色表示。

但是,您可以执行以下操作:

def status

pipeline {
    agent any

    stages {
        stage('Failing stage') {
            steps {
                script {
                    status = sh script: 'exit 99', returnStatus: true
                }
            }
        }
    }
    post { 
        always {
            script {
                if ( status == 99 )
                    echo 'Script failed...'
                else
                    echo 'Script succeeded...'
            }
        }
    }
}

【讨论】:

    【解决方案2】:

    示例帖子 -> 失败

         post {
            always {
                cleanWs()
            }
            success {
                sendEmail('SUCCESSFUL')
            }
            unstable {
                sendEmail('UNSTABLE')
            }
            failure {
                sendEmail('FAILED')
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多