0

在 SourceVersion 中:在 CodeBuild 项目中设置了 ${BranchName}。我认为这会将所有 Push & Pull Request 的范围仅限于 ${BranchName} 目标分支。但显然不是。我看到每个分支上的每个提交都会触发 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 Webhook 收到来自 CodeBuild 的响应:没有为指定的有效负载触发构建。显然,过滤器不像记录的那样工作。所以我的问题是 SourceVersion 和 Webhooks 之间应该去哪里,以便仅在推送更改或将拉取请求合并到我的目标分支时触发构建的目标?

4

1 回答 1

0

糊弄我!我正在对 webserver/ 文件夹之外的文件进行更改,并且使用文件路径过滤器显然按预期忽略了它。

于 2022-01-28T04:19:31.873 回答