Para usar um modelo do AWS CloudFormation para filtrar eventos de grupo do webhook, use a propriedade ScopeConfiguration
do projeto do AWS CodeBuild. Para obter mais informações sobre webhooks do grupo do GitLab, consulte Webhooks do grupo do GitLab.
A seguinte parte formatada em YAML de um modelo do AWS CloudFormation cria quatro grupos de filtros. Juntos, eles acionarão uma compilação quando um ou todos forem avaliados como verdadeiro:
-
O primeiro grupo de filtros especifica que as solicitações pull sejam criadas ou atualizadas nas ramificações com nomes de referência do Git que correspondem à expressão regular
^refs/heads/main$
por um usuário do GitLab que não tem o ID de conta12345
. -
O segundo grupo de filtros especifica que as solicitações push sejam criadas em arquivos com nomes que correspondem à expressão regular
READ_ME
, em ramificações com nomes de referência do Git que correspondem à expressão regular^refs/heads/.*
. -
O terceiro grupo de filtros especifica uma solicitação push com uma mensagem de confirmação head correspondente à expressão regular
\[CodeBuild\]
. -
O quarto grupo de filtros especifica uma solicitação de trabalho de pipeline de CI/CD do GitLab com um nome de pipeline de CI/CD correspondente à expressão regular
\[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
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\]