我希望在一个场景下标记 Jenkins 构建失败,例如:
if [ -f "$file" ]
then
echo "$file found."
else
echo "$file not found."
#Do Jenkins Build Fail
fi
是否可以使用Shell脚本实现?
答案:如果我们用整数1退出,Jenkins构建将被标记为失败。因此,我用exit 1
替换了注释以解决这个问题。
我希望在一个场景下标记 Jenkins 构建失败,例如:
if [ -f "$file" ]
then
echo "$file found."
else
echo "$file not found."
#Do Jenkins Build Fail
fi
是否可以使用Shell脚本实现?
答案:如果我们用整数1退出,Jenkins构建将被标记为失败。因此,我用exit 1
替换了注释以解决这个问题。
你所需要做的就是退出并返回1。
if [ -f "$file" ]
then
echo "$file found."
else
echo "$file not found."
exit 1
fi
$theReturnCode = 1
[System.Environment]::Exit( $theReturnCode )
注意事项:
1. Windows会回收大于65535的退出代码。( https://dev59.com/PGMl5IYBdhLWcg3wbGh1#31881959 )
2. Jenkins REST API有一个'/stop'命令,但这将取消构建而不是实际失败它。( https://jenkinsapi.readthedocs.org/en/latest/build.html )
3. Jenkins也可以标记构建为“不稳定”,该文章(https://dev59.com/T2sz5IYBdhLWcg3wCDl2#8822743)详细介绍了该解决方案。