我们正在使用AWS CodeBuild路滤波器选项来触发只有当推到主由构建。然而,“科过滤”选项已被明显最近被移除或“网络挂接事件过滤器组”被添加。他们应该提供更多的功能,我希望,但我看不出如何使“科过滤器”。
有人能帮忙吗?
我看不到这种变化的任何地方标记,但它为我工作设置事件类型为PUSH和HEAD_REF是
refs/heads/branch-name
按照
https://docs.aws.amazon.com/codebuild/latest/userguide/sample-github-pull-request.html
您需要使用的,而不是branch_filter
s滤波器组。
实施例在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是具有所需逻辑的一个。