使用成功代码提前退出CodeBuild



我在buildspec.yml文件中有一个AWS CodeBuild模板,在构建部分有以下行:

- if [ "${STAGE}" = "alpha" ]; then echo "Quitting alpha build." && exit 0; fi

我的期望是,如果$STAGE变量设置为alpha并成功完成,那么构建应该退出构建。但是,它会转到下一行。

如果我将退出代码更改为1,那么构建将在该点失败,正如预期的那样。

有什么想法可以像这样过早地结束构建,这条线是否有明显的问题?

因此,如果您想提前终止,则必须使用非零退出密码

感谢这个答案,它的真正出口0在buildspec.yml 中没有任何影响

我也遇到过同样的情况,搜索了几个小时,但这里的这个发现也表明需要停止具有BUILD State的CodeBuild:SUCCEDED,否则你只能过早地获得BUILD State:FAILED when exit 1

但不幸的是,FAILED状态扰乱了AWS CodePipeline中的以下CodeBuilds,因此希望AWS能够提供";过早成功退出";将来,对我的情况也会有帮助

想象一下您的代码行在子shell中运行。返回值是最后一个命令的代码。无论test([(是否返回非零,if都返回零,除非您使用其他内容退出。换句话说,没有办法区分不是alpha$STAGEexit 0。因此,如果您想提前终止,则必须使用非零代码退出。

最新更新