jenkins忽略shell步骤中的报错
参考文档:https://cloud.tencent.com/developer/article/1651559
使用jenkins定时杀掉进程,当进程不存在时需要忽略报错。
记录一下jenkins忽略shell步骤中报错的方法
忽略执行错误
在末尾加上参数|| true
ls aaa || true
构建结果:

当错误时执行其他指令
ls aaa || error=true
if [ $error ]
then
echo "有错误"
fi
构建结果:

使用set +e
set +e
ls aaa
echo "执行完毕"
构建结果:

如果指令报错,但后面没有其他指令会报错:
set +e
ls aaa
构建结果:

可使用2>output.log将指令错误输出写到文件中。
同样的,不换行后续没指令也会报错,但文件能写入成功:
set +e
ls aaa 2>output.log
构建结果:


如果想要不报错,在后面加上其他指令即可:
set +e
ls aaa 2>output.log
echo "执行完毕"

加上2>output.log会将错误输出写入文件,错误内容不会在输出中打印与使用set +e有所区别
不能直接使用2>output.log处理错误
这样jenkins也会报错,但文件能写入成功
ls aaa 2>/dev/null



浙公网安备 33010602011771号