首页 > 解决方案 > Maven 构建失败但退出代码仍为 0

问题描述

我在我们的 Jenkins 管道中运行了 Maven build ( mvn clean install),我们使用 Surefire 插件运行我们的测试,一个测试失败了,我们看到 Maven 打印BUILD FAILED并且退出代码为 0。这是什么原因?(退出代码 0 表示成功)

我的代码如下所示:

mvn clean install
RESULT=$?
if [ $RESULT -ne 0 ];then exit 1; fi;

标签: bashmavenjenkins

解决方案


我最终使用这种条件检查了日志。首先,将 mvn 输出重定向到文件

mvn clean install | tee mvn_res

然后使用 grep 检查构建状态

if grep -v 'BUILD SUCCESS' mvn_res;then exit 1; fi;

推荐阅读