jenkins - 如何捕获 Jenkins 中的任何管道错误?

标签 jenkins jenkins-pipeline

我有一个 Jenkins 管道脚本,大部分工作正常,并且我用 try catch 包围了大多数会引发 fatal error 的东西。然而,有时确实会发生意想不到的事情,我希望能够有一个安全的包罗万象的工具,可以在构建失败之前进行一些最终报告。

是否没有我可以定义的最终默认“阶段”在未捕获错误时运行?

最佳答案

虽然已经回答了脚本化管道的问题,但我想指出,对于声明性管道,这是通过 post section 完成的。 :

pipeline {
    agent any
    stages {
        stage('No-op') {
            steps {
                sh 'ls'
            }
        }
    }
    post {
        always {
            echo 'One way or another, I have finished'
            deleteDir() /* clean up our workspace */
        }
        success {
            echo 'I succeeeded!'
        }
        unstable {
            echo 'I am unstable :/'
        }
        failure {
            echo 'I failed :('
        }
        changed {
            echo 'Things were different before...'
        }
    }
}

如果需要,每个阶段也可以有自己的部分。

关于jenkins - 如何捕获 Jenkins 中的任何管道错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41381339/

相关文章:

php - 无法通过通过 Jenkins 触发的 PHP exec() 调用的 nagios check_logwarn 插件命令捕获对日志文件的更改

jenkins - 如何从 Jenkins pipeline Groovy 脚本访问收集的工件?

jenkins-pipeline - 在 groovy 中创建自定义步骤

jenkins - 在 Jenkins 升级构建中使用凭据

shared-libraries - 我可以使用Groovy以外的其他语言在Jenkins Pipeline中创建 'shared library'吗?

jenkins - 从 Jenkins 声明式管道设置构建名称和描述

jenkins - 如何在声明性 Jenkins 管道中添加 sidecar MySQL?

jenkins - 如何在 Jenkins 声明式管道的所有阶段获取 Jenkins 凭据变量

java - Jenkins 中的 gradlecompileJava 获取 : OutOfMemoryError: GC overhead limit exceeded

docker-compose:在 Jenkins 上找不到命令