bash - 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;
解决方案
我最终使用这种条件检查了日志。首先,将 mvn 输出重定向到文件
mvn clean install | tee mvn_res
然后使用 grep 检查构建状态
if grep -v 'BUILD SUCCESS' mvn_res;then exit 1; fi;
推荐阅读
- php - 是否可以连续忽略其他一些文本?
- python - 如何对二维分类直方图中的轴进行排序以最大化聚类
- powerbi - 有没有办法在 Power BI 中做虚线?
- asynchronous - 同步调用(例如 tcp::socket.send)会触发挂起的异步操作吗?
- java - SwipeRefreshLayout 仅限于上半部分
- python - 如何同时运行 tkinter 应用程序和线程?
- java - 编写 SQLite 数据库查询以获取用户并传递表单用户表的正确方法是什么
- ios - 无法使用 jsonExport 和 Codeables 解码 json
- vba - MS Project VBA - 另存为与打开对话框选择器
- c# - 无法访问已释放的对象。\r\n对象名称: 'ApplicationUserManager'