首页 > 解决方案 > 我将如何存储声明性 Jenkins 管道的所有失败阶段

问题描述

在我的 Jenkins 管道中,我有 15 个阶段。现在我在 Jenkins 文件的末尾有一个 post 功能,可以向我发送一封电子邮件,告诉我整个过程是失败还是成功。我也想在电子邮件中包含所有失败的阶段。在每个阶段使用 post 并不是一个好主意,因为每次作业运行时我都会收到 15 封电子邮件。

我正在考虑创建一个列表并将所有失败的内容保存env.STAGE_NAME在列表中并在最后打印出来?但它不允许我在帖子中做这样的事情。
我想实现类似:

pipeline {
    agent { label 'master'}
    stages {
        stage('1') {
            steps {
                echo 'make fail'
            }
        }
        stage('2') {
            steps {
                sh 'make fail'
            }
        }

        ...

        stage('15') {
            steps {
                sh 'make fail'
            }
        }
    }
    post {
        always {
            echo 'ok'
        }
        failure {
            "There are 3 stages have failed the test, which are: '1', '2' '15'"
        }
    }
}

我该怎么做?

标签: jenkinsjenkins-pipelinejenkins-declarative-pipeline

解决方案


推荐阅读