我们使用 AWS CodeBuild 分支过滤器选项来触发构建,仅在进行 PUSH to Master 时触发。但是,最近显然删除了“分支过滤器”选项,并添加了“Webhook 事件过滤器组”。他们应该提供我期望的更多功能,但我看不到如何制作“分支过滤器”。
有人可以帮忙吗?
我们使用 AWS CodeBuild 分支过滤器选项来触发构建,仅在进行 PUSH to Master 时触发。但是,最近显然删除了“分支过滤器”选项,并添加了“Webhook 事件过滤器组”。他们应该提供我期望的更多功能,但我看不到如何制作“分支过滤器”。
有人可以帮忙吗?
我无法在任何地方看到此更改标记,但它对我将事件类型设置为 PUSH 和 HEAD_REF 为
refs/heads/branch-name
按照
https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-pull-request.html
您需要使用过滤器组,而不是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 是具有所需逻辑的那个。