如果 Maven 测试失败,如何使声明性 Jenkins 管道失败?

How to fail declarative Jenkins pipeline if maven tests fail?

我是 运行 像这样的声明式管道 -

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

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

好的,根据我的理解,您应该添加: -Dmaven.test.failure.ignore=falseMAVEN_OPTS 如果您单击 Jenkins 作业的构建部分中的高级按钮。

参考 Maven Surefire Plugin - surefire:test 个选项。

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

JBehave Maven 插件有一个标志 ignoreFailureInStories 在我的例子中需要设置为 true。