本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
篩選 GitLab 群組 Webhook 事件 (CloudFormation)
若要使用 CloudFormation 範本篩選群組 Webhook 事件,請使用 AWS CodeBuild 專案的 ScopeConfiguration 屬性。如需群組 GitLab Webhook 的詳細資訊,請參閱 GitLab 群組 Webhook。
範本的下列 YAML 格式部分 CloudFormation 會建立四個篩選群組。當一個或全部評估為 true 時,它們會一起觸發組建:
-
第一個篩選條件群組指定提取請求會在分支上建立或更新,
^refs/heads/main$而分支的 Git 參考名稱符合沒有帳戶 ID 的 GitLab 使用者的一般表達式12345。 -
第二個篩選群組指定在分支中的檔案上建立的推送請求,並且這些檔案的名稱符合規則表達式
READ_ME,而分支的 Git 參考名稱符合規則表達式^refs/heads/.*。 -
第三個篩選群組會指定其 head 提交訊息符合規則運算式
\[CodeBuild\]的推送請求。 -
第四個篩選條件群組指定 GitLab CI/CD 管道任務請求,其 CI/CD 管道名稱符合規則表達式
\[CI-CodeBuild\]。
CodeBuildProject: Type: AWS::CodeBuild::Project Properties: Name: MyProject ServiceRole: service-role Artifacts: Type: NO_ARTIFACTS Environment: Type: LINUX_CONTAINER ComputeType: BUILD_GENERAL1_SMALL Image: aws/codebuild/standard:5.0 Source: Type: GITLAB Location: source-location Triggers: Webhook: true ScopeConfiguration: Name: group-name Scope: GITLAB_GROUP FilterGroups: - - Type: EVENT Pattern: PULL_REQUEST_CREATED,PULL_REQUEST_UPDATED - Type: BASE_REF Pattern: ^refs/heads/main$ ExcludeMatchedPattern: false - Type: ACTOR_ACCOUNT_ID Pattern: 12345 ExcludeMatchedPattern: true - - Type: EVENT Pattern: PUSH - Type: HEAD_REF Pattern: ^refs/heads/.* - Type: FILE_PATH Pattern: READ_ME ExcludeMatchedPattern: true - - Type: EVENT Pattern: PUSH - Type: COMMIT_MESSAGE Pattern: \[CodeBuild\] - Type: FILE_PATH Pattern: ^src/.+|^test/.+ - - Type: EVENT Pattern: WORKFLOW_JOB_QUEUED - Type: WORKFLOW_NAME Pattern: \[CI-CodeBuild\]