Si quiere usar una plantilla de AWS CloudFormation para filtrar eventos de webhook de grupo, utilice la propiedad ScopeConfiguration
del proyecto de AWS CodeBuild. Para obtener más información sobre los webhooks de GitLab de grupo, consulte Webhooks de grupo de GitLab.
El siguiente fragmento con formato YAML de una plantilla de AWS CloudFormation crea cuatro grupos de filtros. Juntos, desencadenan una compilación cuando uno o todos se evalúan como true:
-
El primer grupo de filtros especifica las solicitudes de extracción creadas o actualizadas en ramificaciones con nombres de referencia de Git que coinciden con la expresión regular
^refs/heads/main$
por un usuario de GitLab que no tiene el ID de cuenta12345
. -
El segundo grupo de filtros especifica las solicitudes de inserción que se crean en archivos cuyos nombres coinciden con la expresión regular
READ_ME
en las ramificaciones que tienen un nombre de referencia de Git que coincide con la expresión regular^refs/heads/.*
. -
El tercer grupo de filtros especifica una solicitud de inserción con un mensaje de confirmación del encabezado que coincida con la expresión regular
\[CodeBuild\]
. -
El cuarto grupo de filtros especifica una solicitud de trabajo de canalización de CI/CD de GitLab cuyo nombre de canalización de CI/CD coincide con la expresión 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\]