我想在一个场景中将Jenkins构建标记为失败,例如:
if [ -f "$file" ]
then
echo "$file found."
else
echo "$file not found."
#Do Jenkins Build Fail
fi
是否可以通过Shell Script?
答案:如果我们以整数1退出,Jenkins构建将被标记为失败。所以我用exit 1
替换了评论以解决此问题。
答案 0 :(得分:68)
您需要做的只是退出1.
if [ -f "$file" ]
then
echo "$file found."
else
echo "$file not found."
exit 1
fi
答案 1 :(得分:3)
要从.NET失败Jenkins构建,您可以使用Environment.Exit(1)
。
另请参阅How do I specify the exit code of a console application in .NET?。
答案 2 :(得分:1)
要从Windows PowerShell失败Jenkins构建,您可以使用Steve的C#提示,如下所示:
$theReturnCode = 1
[System.Environment]::Exit( $theReturnCode )
注释;
1.Windows回收高于65535的退出代码。(https://stackoverflow.com/a/31881959/242110)
2. Jenkins REST API有一个'/ stop'命令,但这会取消构建而不是实际失败。 (https://jenkinsapi.readthedocs.org/en/latest/build.html)
3.Jenkins也可以标记构建'不稳定',这篇文章(https://stackoverflow.com/a/8822743/242110)详细介绍了该解决方案。