CodeBuild 正在构建对我的目标分支的所有提交。在特定分支上配置构建的正确方法是什么?
CodeBuild is building all commits to my destination branch. What is the correct way to configure builds on a specific branch?
在 SourceVersion 中:在 CodeBuild 项目中设置了 ${BranchName}。我认为这会将所有推送和拉取请求的范围限制在 ${BranchName} 目标分支 only.But 显然不是。我看到每个分支上的每个提交都会触发 GitHub Webhook 到 CodeBuild 并导致它构建每个提交!不是我想要的。
然后在过滤器中我尝试指定:
Triggers:
Webhook: true
FilterGroups:
- - Type: EVENT
Pattern: PULL_REQUEST_MERGED
- Type: BASE_REF
Pattern: !Sub "refs/heads/${BranchName}$"
ExcludeMatchedPattern: false
- Type: FILE_PATH
Pattern: ^webserver/
- - Type: EVENT
Pattern: PUSH
- Type: HEAD_REF
Pattern: !Sub "refs/heads/${BranchName}$"
ExcludeMatchedPattern: false
- Type: FILE_PATH
Pattern: ^webserver/
有了这个,现在没有构建被触发。 GitHub webhooks 从 CodeBuild 获得响应:没有为指定的负载触发构建。很明显,过滤器不能像记录的那样工作。所以我的问题是 SourceVersion 和 Webhooks 之间应该去哪里,以便 objective 只有在推送更改或将拉取请求合并到我的目标分支时才触发构建?
傻我!我正在对 webserver/ 文件夹之外的文件进行更改,并且使用文件路径过滤器显然按预期忽略了它。
在 SourceVersion 中:在 CodeBuild 项目中设置了 ${BranchName}。我认为这会将所有推送和拉取请求的范围限制在 ${BranchName} 目标分支 only.But 显然不是。我看到每个分支上的每个提交都会触发 GitHub Webhook 到 CodeBuild 并导致它构建每个提交!不是我想要的。
然后在过滤器中我尝试指定:
Triggers:
Webhook: true
FilterGroups:
- - Type: EVENT
Pattern: PULL_REQUEST_MERGED
- Type: BASE_REF
Pattern: !Sub "refs/heads/${BranchName}$"
ExcludeMatchedPattern: false
- Type: FILE_PATH
Pattern: ^webserver/
- - Type: EVENT
Pattern: PUSH
- Type: HEAD_REF
Pattern: !Sub "refs/heads/${BranchName}$"
ExcludeMatchedPattern: false
- Type: FILE_PATH
Pattern: ^webserver/
有了这个,现在没有构建被触发。 GitHub webhooks 从 CodeBuild 获得响应:没有为指定的负载触发构建。很明显,过滤器不能像记录的那样工作。所以我的问题是 SourceVersion 和 Webhooks 之间应该去哪里,以便 objective 只有在推送更改或将拉取请求合并到我的目标分支时才触发构建?
傻我!我正在对 webserver/ 文件夹之外的文件进行更改,并且使用文件路径过滤器显然按预期忽略了它。