Esquema del archivo de activadores

En esta página, se explica el esquema del archivo de activadores de Secure Source Manager. Para obtener instrucciones sobre cómo crear un archivo de activadores, consulta Crea un archivo de activadores.

Un archivo de activadores contiene instrucciones para que Secure Source Manager active los pasos definidos en un archivo de configuración de Cloud Build en función de un evento de solicitud de envío o extracción en Secure Source Manager.

Puedes configurar tus reglas de protección de ramas para exigir una verificación de estado exitosa de activadores específicos. Para obtener más información sobre la protección de ramas, consulta la Descripción general de la protección de ramas.

Estructura de un archivo de activadores

El archivo de configuración de los activadores debe crearse en la rama predeterminada de tu repositorio. Puedes escribir el archivo de activadores con la sintaxis de YAML.

Un archivo de activadores tiene la siguiente estructura:

triggers:
- name: string
  project: string
  configFilePath: string
  eventType: string
  includedGitRefs: string
  ignoredGitRefs: string
  includedFiles: string
  ignoredFiles: string
  serviceAccount: string
  disabled: bool
  substitutions: map[string]string
- name: string
...

Cada sección con nombre del archivo de activadores define la configuración de Cloud Build que se usará para el tipo de evento determinado en Secure Source Manager.

Activadores

Un activador especifica qué tipo de evento de Secure Source Manager deseas usar para activar la finalización de los pasos en un archivo de configuración de Cloud Build específico. También puedes especificar qué ramas se supervisan para el evento especificado.

Usa el campo name en el archivo de activadores para identificar un activador. A continuación, se muestra un ejemplo del tipo de configuración que puedes establecer en el archivo de activadores:

triggers:
- name: presubmit-test
  project: my-project
  configFilePath: test.yaml
  eventType: pull_request
  includedGitRefs: ^main$
  ignoredGitRefs: .*log
  serviceAccount: projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com
  includedFiles: .*
  ignoredFiles: my-file.txt
  disabled: false
- name: postsubmit-run
  project: my-project
  configFilePath: run.yaml
  eventType: push
  includedGitRefs: ^main$
  ignoredGitRefs: dev-branch
  serviceAccount: projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com
  disabled: false
  substitutions:
    _NODE_VERSION_1: v6.9.1
    REPO_NAME: dev

name

Obligatorio. Usa el campo name del activador para identificarlo. Los nombres de los activadores solo pueden contener caracteres alfanuméricos y guiones, y no pueden comenzar ni terminar con un guion. Los nombres de los activadores deben tener menos de 64 caracteres.

project

Opcional. Usa el campo project para identificar el proyecto Google Cloud en el que habilitaste Cloud Build.

El valor predeterminado es el proyecto de Secure Source Manager.

configFilePath

Opcional. Ruta de acceso al archivo de configuración de Cloud Build.

El valor predeterminado es .cloudbuild/cloudbuild.yaml.

eventType

Opcional. Es el tipo de evento que se activará. Las opciones son push para las confirmaciones en las ramas seleccionadas o pull_request para las solicitudes de extracción en las ramas seleccionadas.

El valor predeterminado es push.

includedGitRefs

Opcional. Es una expresión regular en formato RE2 que coincide con las referencias de Git que activan una compilación.

El valor predeterminado es vacío. Un campo de filtro includedGitRefs vacío indica que no hay restricciones.

Si la referencia de Git no se incluye en el campo de filtro ignoredGitRefs, Secure Source Manager verifica el campo de filtro includedGitRefs. Si la referencia de Git se encuentra en el campo de filtro includedGitRefs, se activa una compilación. Si el campo de filtro includedGitRefs no está vacío y la referencia de Git no se incluye en el campo de filtro includedGitRefs, no se activará una compilación.

ignoredGitRefs

Opcional. Es una expresión regular en formato RE2 que coincide con las referencias de Git que no deberían activar una compilación.

El valor predeterminado es vacío. Un campo de filtro ignoredGitRefs vacío indica que no hay restricciones.

Secure Source Manager primero verifica el campo de filtro ignoredGitRefs. Si no está vacío y la referencia de Git coincide con el campo de filtro ignoredGitRefs, no se activa una compilación.

serviceAccount

Obligatorio. La cuenta de servicio de Cloud Build que se usará para la compilación.

Formato: projects/PROJECT_ID/serviceAccounts/ACCOUNT

Reemplaza lo siguiente:

  • PROJECT_ID: con el ID del proyecto Google Cloud en el que creaste la cuenta de servicio
  • ACCOUNT: con la dirección de correo electrónico o el ID único de la cuenta de servicio

includedFiles

Opcional. Es una expresión regular en formato RE2 que coincide con los archivos que deberían activar una compilación cuando se modifiquen.

Si los archivos modificados no están en el campo de filtro ignoredFiles y coinciden con el campo de filtro includedFiles, se activa una compilación.

El valor predeterminado es vacío. Un campo de filtro vacío indica que no hay restricciones.

ignoredFiles

Opcional. Es una expresión regular en formato RE2 que coincide con los archivos que no deberían activar una compilación cuando se modifican.

Si el campo de filtro ignoredFiles no está vacío, las confirmaciones que solo incluyan archivos que coincidan con el campo de filtro ignoredFiles no activarán una compilación. El valor predeterminado está vacío. Un filtro vacío indica que no hay restricciones.

disabled

Opcional. Es un valor booleano para establecer si el activador está inhabilitado o no. Los valores son true o false.

El valor predeterminado es false.

substitutions

Usa sustituciones en tu archivo de activadores para sustituir variables específicas cuando se compila en tu archivo de configuración de Cloud Build.

Las sustituciones deben comenzar con un guion bajo y solo pueden contener letras mayúsculas, guiones bajos y números, o bien ser una de las variables de sustitución de Secure Source Manager.

Secure Source Manager proporciona las siguientes variables de sustitución predeterminadas:

  • TRIGGER_NAME: Es el nombre asociado con el activador.
  • COMMIT_SHA: Es el ID de confirmación asociado al activador.
  • REVISION_ID: Es el ID de confirmación asociado al activador.
  • SHORT_SHA: Los primeros siete caracteres de COMMIT_SHA.
  • REPO_NAME: es el nombre del repositorio, Por ejemplo: my-repo.
  • REPO_FULL_NAME: Es la ruta de acceso del recurso del repositorio, por ejemplo, projects/my-project/locations/us-central/repositories/test-repo.
  • REF_NAME: Es el nombre de la rama o la etiqueta asociada al activador.
  • TRIGGER_BUILD_CONFIG_PATH: Es la ruta de acceso al archivo de configuración de compilación que se usa durante la ejecución de la compilación.

Para obtener información sobre cómo incluir variables de sustitución de Secure Source Manager en tu archivo de configuración de Cloud Build, consulta Sustituye valores de variables.

¿Qué sigue?