AWS CodeBuild路滤波器选项去掉

问题描述 投票:1回答:1

我们正在使用AWS CodeBuild路滤波器选项来触发只有当推到主由构建。然而,“科过滤”选项已被明显最近被移除或“网络挂接事件过滤器组”被添加。他们应该提供更多的功能,我希望,但我看不出如何使“科过滤器”。

有人能帮忙吗?

amazon-web-services aws-codebuild
1个回答
4
投票

我看不到这种变化的任何地方标记,但它为我工作设置事件类型为PUSH和HEAD_REF是

refs/heads/branch-name

按照

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


1
投票

您需要使用的,而不是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工作,尽管它仍然是通过用户界面或API进行配置。 filter_groups是具有所需逻辑的一个。

© www.soinside.com 2019 - 2024. All rights reserved.