我正在编写一个 bash 脚本来自动化构建过程。有两个主要的构建 block ,一个是 ant 任务,一个是普通的旧版 mvn clean install
。当这两个构建过程中的任何一个出现构建错误时,我想做一些事情。
问题是,这些构建会不时包含测试失败或错误,但最终结果是成功的。而且我认为无论构建失败还是成功,这些进程返回的状态代码 ($?) 都应该为 0,我可能是错的。
那么我的脚本检测最终结果(构建失败/成功)的最佳方式是什么,而不会在构建中期(测试错误等)中捕获错误信息?
最佳答案
mvn clean test
if [[ "$?" -ne 0 ]] ; then
echo 'could not perform tests'; exit $rc
fi
$?
是一个特殊的 shell 变量,它包含最近执行的命令的退出代码(无论它是否成功终止)。-ne
代表“不等于”。所以我们在这里测试mvn clean
的退出代码是否不等于零。
关于bash - 如何通过 bash 脚本检测来自 ant/maven 的构建错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1375133/