詹金斯(Jenkins)建立失败,但所有阶段均成功

时间:2019-10-11 18:10:22

标签: jenkins

我有一个Jenkins管道,所有阶段均已完成并报告为“成功”,但总体构建标记为“失败”。每次运行构建时都会发生这种情况。构建从头到尾运行,没有任何“从最后阶段继续”。 jenkins版本和插件均已更新为最新版本。

如果我查看每个阶段,它都将鼠标悬停显示为“成功”(请参见屏幕截图)。

我在这里想念什么?

My Jenkinsfile enter image description here enter image description here

编辑1:添加蓝海截图: enter image description here

管道日志文件的结尾:

[Pipeline] }
[Pipeline] // withEnv
Post stage
[Pipeline] junit
Recording test results
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // parallel
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] mail
[Pipeline] }
[Pipeline] // stage
[Pipeline] End of Pipeline
Finished: FAILURE

编辑2:添加了帖子部分

这是管道语句的结尾:

post {
    failure {
        mail to:    "$MAIL_NOTIFY",
        subject:    "Failed Pipeline: ${currentBuild.fullDisplayName}",
        body:       "Something is wrong with ${env.BUILD_URL}"
    }
}

编辑3:删除了发布失败

如果我删除“发布{失败{邮件...}}”部分,则构建成功完成。现在的问题是...我如何解决此部分以使其正常工作?

3 个答案:

答案 0 :(得分:1)

由于发送电子邮件步骤失败,您可以尝试使用:

environment {
            EMAIL_TO = 'someone@host.com'
        }
    post {
            failure {
                emailext body: 'Check console output at $BUILD_URL to view the results. \n\n ${CHANGES} \n\n -------------------------------------------------- \n${BUILD_LOG, maxLines=100, escapeHtml=false}', 
                        to: EMAIL_TO, 
                        subject: 'Build failed in Jenkins: $PROJECT_NAME - #$BUILD_NUMBER'
            }

        }

答案 1 :(得分:0)

您需要检查该作业的控制台日志,尽管所有阶段均已成功完成,但最后必须有一个步骤失败。

答案 2 :(得分:0)

如果您想发送电子邮件给合适的开发人员,可以尝试如下操作:

pipeline {
    agent any 
    stages {
        stage('A') {
            steps {
                ...
            }
        }
        stage('Test') {
            steps {
                ...
            }
        }
    }
    post { 
        always {
                emailext  body: "${currentBuild.currentResult}: Job ${env.JOB_NAME} build ${env.BUILD_NUMBER}\n More info at: ${env.BUILD_URL}",
                recipientProviders: [[$class: 'DevelopersRecipientProvider'], [$class: 'RequesterRecipientProvider']],
                subject: "[Jenkins] Build ${currentBuild.currentResult}: Job ${env.JOB_NAME}"
        }
    }
}