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/ 文件夹之外的文件进行更改,并且使用文件路径过滤器显然按预期忽略了它。