Удалена опция фильтра AWS CodeBuild Branch - PullRequest
0 голосов
/ 11 февраля 2019

Мы используем параметр фильтра AWS CodeBuild Branch, чтобы запускать сборку только при выполнении команды PUSH to Master.Однако опция «Фильтр ветвлений» была, по-видимому, недавно удалена, и добавлена ​​«Группа фильтров событий Webhook».Они должны обеспечить больше функциональности, я ожидаю, но я не вижу, как сделать «фильтр ветвления».

Может кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 17 июля 2019

Вам нужно использовать группы фильтров вместо branch_filter с.

Пример в 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_group s - это та, которая обладает необходимой логикой.

0 голосов
/ 11 февраля 2019

Я не мог видеть, чтобы это изменение было помечено где-либо, но у меня сработало, установив Тип события как PUSH и HEAD_REF равным

refs/heads/branch-name

согласно

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

...