我的构建和部署步骤会创建一些日志。如果我看到某些字符串,我想搜索日志并使构建失败。
好日志看起来像
log stuff
step 1: SUCCESS
step 2: SUCCESS
失败的日志看起来像
log stuff
step 1: SUCCESS
step 2: FAIL
我的支票是
grep FAIL /path/to/build.log
if [ $? -eq 0 ]; then
exit 1
fi
我也试过
RESULT=`grep FAIL /path/to/build.log`
if [ -n "$RESULT" ]; then
exit 1
fi
以及文件中的各种管道方式。
Hudson在grep上构建失败而没有返回任何内容。那么有更好的方法来搜索字符串吗?有没有办法让grep不返回任何东西而不是退出脚本呢?
版本资料: *哈德森1.355
答案 0 :(得分:2)
从shell命令的hudson文档:
默认情况下,将使用“-ex”选项调用shell。因此,所有命令在执行之前都会被打印,如果任何命令以非零退出代码退出,则构建被视为失败。再次,添加#!/ bin / ...行来更改此行为。
那么,尝试添加一个#!/ bin / sh行,看看它做了什么?