詹金斯构建失败但所有阶段都成功

Mik*_*per 6 jenkins

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

如果我查看每个阶段,它会在悬停上方显示“成功”(参见屏幕截图)。

我在这里缺少什么?

我的詹金斯文件 在此输入图像描述 在此输入图像描述

编辑1:添加蓝海截图: 在此输入图像描述

管道日志文件的结尾:

[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
Run Code Online (Sandbox Code Playgroud)

编辑2:添加帖子部分

这是管道语句的结尾:

post {
    failure {
        mail to:    "$MAIL_NOTIFY",
        subject:    "Failed Pipeline: ${currentBuild.fullDisplayName}",
        body:       "Something is wrong with ${env.BUILD_URL}"
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑3:删除失败后

如果我删除“post { failure { mail ... } }”部分,则构建成功完成。所以现在的问题是......我如何修复此部分以使其正常工作?

小智 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'
            }

        }
Run Code Online (Sandbox Code Playgroud)