如果运行脚本阶段发生错误,如何中止构建

时间:2010-10-06 06:28:08

标签: xcode build-process

我想使用运行脚本目标在mercurial中标记我的修订版并将其上传到服务器。我创建了一个新的运行脚本目标,它取决于构建我的应用程序的其他目标,然后我一个接一个地直接添加了两个运行脚本阶段。

现在我的问题是:如果运行脚本阶段#1给出错误(脚本的返回代码是不等于0),如何阻止执行运行脚本阶段#2?

第二个脚本会将文件上传到服务器,所以如果一切顺利,我只想执行这个阶段。

3 个答案:

答案 0 :(得分:11)

解决方案是在发生错误时通常停止构建:

XCode - >偏好 - >建筑 - >构建选项“错误后继续构建”。

如果取消选中,如果脚本返回不等于0的内容并且第二个脚本不会被执行,则构建将停止。如果您使用xcodebuild,则该设置的名称为“PBXBuildsContinueAfterErrors”。

答案 1 :(得分:9)

您的第一个脚本可以使用"退出1"中止构建,如下所示:

if [ error ] then
    echo "There are some errors, etc..."
    exit 1
fi

答案 2 :(得分:0)

exit(1)为我完成了工作。添加echo "error:会将其标记为Xcode中的错误。

echo "error: Everything has failed!"
exit(1)

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes