Rob*_*kal 5 continuous-integration continuous-deployment aws-codebuild
我想仅当我的存储库标记有某些特定的发布标签时才运行我的构建管道。我可以从 CODEBUILD_WEBHOOK_TRIGGER 环境变量获取标签值,并且可以使用一些 bash kung fu 在 BUILD 阶段有条件地执行代码:
build:
commands:
- echo ${CODEBUILD_WEBHOOK_TRIGGER##*/}
- |
if expr "${CODEBUILD_WEBHOOK_TRIGGER}" : '^tag/30' >/dev/null; then
git add *
git commit -am "System commit"
git push
git tag ${CODEBUILD_WEBHOOK_TRIGGER##*/}
git push origin ${CODEBUILD_WEBHOOK_TRIGGER##*/}
echo Pushed the repo
fi
Run Code Online (Sandbox Code Playgroud)
工作正常,我只在标签看起来像某种方式时推送。
抛开上述的脆弱性不谈,我真正想做的是在安装阶段终止整个构建过程,如果我的 CODEBUILD_WEBHOOK_TRIGGER 变量没有特定的前缀。我想跳过所有后续步骤并退出管道而不会出现错误。
有没有办法做到这一点?尽量减少我使用的资源会很好。
小智 6
使用提供的 CodeBuild 环境变量 ${CODEBUILD_BUILD_ID} 使用 aws-cli 命令停止构建对我有用:
- aws codebuild stop-build --id ${CODEBUILD_BUILD_ID}
Run Code Online (Sandbox Code Playgroud)
例如:
- |
if expr "${CODEBUILD_WEBHOOK_TRIGGER}" : '^tag/30' >/dev/null; then
. . .
else
aws codebuild stop-build --id ${CODEBUILD_BUILD_ID}
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6689 次 |
| 最近记录: |