如何配置AWS CodeBuild环境变量实现出错时仍强制构建成功
配置方法
直接在现有EnvironmentVariables列表下新增一条环境变量配置即可:
- 变量名:
CODEBUILD_BUILD_SUCCEEDING - 类型:
PLAINTEXT - 值:
1
修改后完整的CodeBuild配置片段如下:
ServiceRole: !GetAtt CodeBuildRole.Arn Environment: Type: LINUX_CONTAINER Image: aws/codebuild/amazonlinux2-x86_64-standard:3.0 ComputeType: BUILD_GENERAL1_SMALL EnvironmentVariables: - Name: CROSS_ACCOUNT_ROLE Type: PLAINTEXT Value: !Sub 'arn:aws:iam::${TargetAccountID}:role/${CodePipelineAssumeRoleName}' - Name: TARGET_ACCOUNT_ID Type: PLAINTEXT Value: !Ref TargetAccountID - Name: CODEBUILD_BUILD_SUCCEEDING Type: PLAINTEXT Value: "1"
原理说明
CODEBUILD_BUILD_SUCCEEDING是CodeBuild原生提供的状态判定环境变量,构建结束时CodeBuild会读取该变量值返回最终状态:值为1时标记构建成功,值为0时标记构建失败。
默认场景下,只要构建过程中任意命令返回非0退出码,CodeBuild会自动将该变量置为0,终止后续命令执行并返回失败状态。提前将该变量注入并固定为1后,无论构建过程中是否出现执行错误,CodeBuild最终都会返回成功状态。
注意:该配置会完全屏蔽构建错误的状态反馈,仅建议在临时调试、无需感知构建结果的场景下使用,生产环境开启会导致无法及时感知构建流程异常。
内容的提问来源于stack exchange,提问作者preethi
相关产品推荐
相关产品推荐

