【问题标题】:AWS CodeBuild Branch filter option removed已删除 AWS CodeBuild 分支过滤器选项
【发布时间】:2019-02-11 10:39:48
【问题描述】:

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

有人可以帮忙吗?

【问题讨论】:

    标签: amazon-web-services aws-codebuild


    【解决方案1】:

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

    refs/heads/branch-name

    根据

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

    【讨论】:

    • 您的答案有效,但提供的 AWS 文档链接没有说明设置 HEAD_REF
    【解决方案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 是具有所需逻辑的那个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      相关资源
      最近更新 更多