jenkins 有关不同错误的自定义用户通知

jc3wubiy  于 2023-03-17  发布在  Jenkins
关注(0)|答案(1)|浏览(150)

Jenkins管道有时会因为某些服务中断而发生故障。2错误消息如下所示:“哈德逊。异常终止:节点xxx失败,并显示消息..未找到要存档的文件...”
有时这是一个真实的的问题,因为测试中的工件不好。
我希望找出基础架构问题并为用户提供解决方案,例如,如果错误消息包含以下字符串和模式,则告诉用户:可能这不是你的错,解决办法是重新启动或寻求帮助
我该怎么做?
非常感谢

mrzz3bfm

mrzz3bfm1#

如果错误是在某个阶段引起的,您可以捕获它,然后发送电子邮件,松弛消息,甚至根据它的内容触发另一个执行:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
                    sh 'command_that_fails'
                }
                script {
                    if (error) {
                        echo "Error message: ${error}"
                        callYourActionHere(someParameter) 
                    }
                }
            }
        }
    }
}

此外,该阶段还有一个“failure”post步骤,您可以使用该步骤将逻辑应用于失败场景:

pipeline {
    agent any
    stages {
        stage('Build') {
            failFast true
            steps {
                sh 'command_that_may_fail'
                sh 'another_command_that_may_fail'
            }
            post {
                failure {
                    echo "Build failed due to an error in the build step"
                    callSomeMethod( someparameter )
                }
            }
        }
        stage('Test') {
            steps {
                sh 'run_tests'
            }
        }
    }
}

即使您对错误采取了措施,我也强烈建议您添加友好的控制台消息。

相关问题