首页 > 解决方案 > 如果 Maven 测试失败,如何使声明性 Jenkins 管道失败?

问题描述

我正在运行这样的声明性管道 -

stage ('Integration Tests') {
    steps {
      bat "mvn clean verify"
    }
}

如果集成测试失败,我该如何让这个管道失败?我尝试将步骤包装在scriptwithtry-catch块中,但这没有帮助。我正在使用 JBehave Maven 插件来触发集成测试。

标签: jenkinsjenkins-pipelinejenkins-declarative-pipeline

解决方案


好的,根据我的理解,如果您单击 Jenkins Job 的 Build 部分中的 Advanced 按钮,您应该在 MAVEN_OPTS 中添加: -Dmaven.test.failure.ignore = false

请参阅 Maven Surefire 插件 - surefire:test选项以供参考。

这是因为 jenkins 默认将此值指定为 true。看看issues.jenkins-ci.org/browse/JENKINS-24655


推荐阅读