mik*_*aub 5 continuous-integration amazon-web-services aws-codebuild
我的构建在每次推送到 repo 和每次拉取请求时触发。
所以 CODEBUILD_SOURCE_VERSION 看起来像“pr/8”或“4570d2e7158cfef687af8da31d1ffec7b02e5ca3”。
我只希望构建为 pr 分支执行并推送到 master。实现这一目标的最佳方法是什么?我不想使用 CodeDeploy,因为我只是在部署 lambda。
我可以编写一个 bash 函数,在安装阶段检查 CODEBUILD_SOURCE_VERSION 并执行退出 1。但这会在我们的 slack 通道中产生很多误报,因为这些并不是真正的“失败构建”。
小智 5
您可以配置事件过滤器并完全执行您想要的操作,以下是在主分支上构建 PR 或推送的配置示例
一切都在这里https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-pull-request.html
您的方法将取决于触发构建事件的原因,然后您必须将这些事件路由到代码构建。如果您使用 Github,则可以通过创建在 Push 和 Pull_request 事件上触发的 Webhook 来明确标记要触发系统的事件。该 webhook 会向您的系统发送一个 post 请求,这将需要一些代码将该请求转换为启动 codebuild 构建。我认为您不想在构建开始后解析内容以查看构建是否应该继续。如果构建不应该运行,最好根本不启动构建。