AWS CodeBuild - How to skip a build

懵懂的女人 提交于 2020-03-19 07:53:10

问题


My build is triggered on every push to the repo and on every pull request.

So CODEBUILD_SOURCE_VERSION looks like "pr/8" or "4570d2e7158cfef687af8da31d1ffec7b02e5ca3".

I only want the build to execute for pr branches and pushes to master. What is the best way to achieve this? I don't want to use CodeDeploy as I am just deploying lambdas.

I could write a bash function that checks CODEBUILD_SOURCE_VERSION on the install phase and does an exit 1. But this will create a lot of false positives in our slack channel as these are not really "failed builds".


回答1:


Your approach is going to depend on what is triggering your build events and then you'll have to route those events to codebuild. If you're using Github, you could explicitly mark which events you want to trigger your system by creating a webhook that fires on push and pull_request events. That webhook sends a post request into your system, which is going to need some code to convert that request into starting a codebuild build. I don't think you want to parse things after the build has started to see if the build should continue. It is better to not start the build at all if it shouldn't run.




回答2:


You can configure event filters and do exactly what you want, here is an example of configuration building PRs or pushes on a master branch

It's all here https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-pull-request.html



来源:https://stackoverflow.com/questions/48893479/aws-codebuild-how-to-skip-a-build

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!