使用shell脚本在Jenkins中手动构建失败

时间:2013-12-30 18:36:09

标签: shell jenkins continuous-integration

我想在一个场景中将Jenkins构建标记为失败,例如:

if [ -f "$file" ]
then
    echo "$file found."
else
    echo "$file not found."
    #Do Jenkins Build Fail
fi

是否可以通过Shell Script?

答案:如果我们以整数1退出,Jenkins构建将被标记为失败。所以我用exit 1替换了评论以解决此问题。

3 个答案:

答案 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)详细介绍了该解决方案。