AWS CodeBuild - 如何跳过构建

AWS CodeBuild - How to skip a build

每次推送到存储库和每次拉取请求时都会触发我的构建。

所以 CODEBUILD_SOURCE_VERSION 看起来像 "pr/8" 或“4570d2e7158cfef687af8da31d1ffec7b02e5ca3”。

我只想为 pr 分支执行构建并推送到 master。实现这一目标的最佳方法是什么?我不想使用 CodeDeploy,因为我只是在部署 lambda。

我可以编写一个 bash 函数在安装阶段检查 CODEBUILD_SOURCE_VERSION 并执行退出 1。但这会在我们的松弛通道中产生很多误报,因为这些并不是真的"failed builds".

您的方法将取决于是什么触发了您的构建事件,然后您必须将这些事件路由到代码构建。如果您正在使用 Github,您可以通过创建一个在推送和 pull_request 事件时触发的 webhook 来明确标记要触发系统的事件。该 webhook 向您的系统发送一个 post 请求,这将需要一些代码将该请求转换为启动 codebuild 构建。我不认为你想在构建开始后解析东西以查看构建是否应该继续。如果不应该 运行,最好根本不要开始构建。

您可以配置事件过滤器并完全按照您的意愿进行操作,这里是在主分支上构建 PR 或推送的配置示例

都在这里https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-pull-request.html