5

我们使用 AWS CodeBuild 分支过滤器选项来触发构建,仅在进行 PUSH to Master 时触发。但是,最近显然删除了“分支过滤器”选项,并添加了“Webhook 事件过滤器组”。他们应该提供我期望的更多功能,但我看不到如何制作“分支过滤器”。

有人可以帮忙吗?

4

2 回答 2

7

我无法在任何地方看到此更改标记,但它对我将事件类型设置为 PUSH 和 HEAD_REF 为

refs/heads/branch-name

按照

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

于 2019-02-11T15:50:37.333 回答
2

您需要使用过滤器组,而不是branch_filters。

terraform (0.12+) 中的示例;

对于功能分支;

resource "aws_codebuild_webhook" "feature" {
  project_name = aws_codebuild_project.feature.name

  filter_group {
    filter {
      type    = "EVENT"
      pattern = "PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED"
    }

    filter {
      type                    = "HEAD_REF"
      pattern                 = "^(?!^/refs/heads/master$).*"
      exclude_matched_pattern = false
    }
  }
}

master分行。

resource "aws_codebuild_webhook" "master" {
  project_name = aws_codebuild_project.master.name

  filter_group {
    filter {
      type    = "EVENT"
      pattern = "PUSH"
    }

    filter {
      type                    = "HEAD_REF"
      pattern                 = "^refs/heads/master$"
      exclude_matched_pattern = false
    }
  }
}

所以他们都需要一个aws_codebuild_project。因此,每个存储库将有 2 个 CodeBuild 项目。

branch_filter在 CodeBuild 中不起作用,尽管它仍然可以通过 UI 或 API 进行配置。filter_groups 是具有所需逻辑的那个。

于 2019-07-17T08:21:36.627 回答