Schéma du fichier de déclencheurs

Cette page explique le schéma du fichier de déclencheurs Secure Source Manager. Pour obtenir des instructions sur la création d'un fichier de déclencheurs, consultez Créer un fichier de déclencheurs.

Un fichier de déclencheurs contient des instructions permettant à Secure Source Manager de déclencher les étapes définies dans un fichier de configuration Cloud Build en fonction d'un événement de requête push ou pull dans Secure Source Manager.

Vous pouvez configurer vos règles de protection des branches pour exiger une vérification de l'état réussie à partir de déclencheurs spécifiques. Pour en savoir plus sur la protection des branches, consultez Présentation de la protection des branches.

Structure d'un fichier de déclencheurs

Le fichier de configuration des déclencheurs doit être créé dans la branche par défaut de votre dépôt. Vous pouvez écrire le fichier de déclencheurs à l'aide de la syntaxe YAML.

Un fichier de déclencheurs a la structure suivante :

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
...

Chaque section nommée du fichier de déclencheurs définit la configuration Cloud Build à utiliser pour le type d'événement donné dans Secure Source Manager.

Déclencheurs

Un déclencheur spécifie le type d'événement Secure Source Manager que vous souhaitez utiliser pour déclencher l'exécution des étapes d'un fichier de configuration Cloud Build spécifique. Vous pouvez également spécifier les branches à surveiller pour l'événement indiqué.

Utilisez le champ name du fichier de déclencheurs pour identifier un déclencheur. Voici un exemple de configuration que vous pouvez définir dans le fichier de déclencheurs :

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

Obligatoire. Utilisez le champ name du déclencheur pour l'identifier. Les noms de déclencheurs ne peuvent contenir que des caractères alphanumériques et des tirets, et ne peuvent pas commencer ni se terminer par un tiret. Les noms de déclencheurs doivent comporter moins de 64 caractères.

project

Facultatif. Utilisez le champ project pour identifier le projet Google Cloud dans lequel vous avez activé Cloud Build.

La valeur par défaut est le projet Secure Source Manager.

configFilePath

Facultatif. Chemin d'accès au fichier de configuration Cloud Build.

La valeur par défaut est .cloudbuild/cloudbuild.yaml.

eventType

Facultatif. Type d'événement à déclencher. Les options sont push pour les envois vers les branches sélectionnées ou pull_request pour les demandes d'extraction vers les branches sélectionnées.

La valeur par défaut est push.

includedGitRefs

Facultatif. Une expression régulière au format RE2 correspondant aux références Git qui déclenchent une compilation.

Par défaut, cette valeur n'est pas renseignée. Un champ de filtre includedGitRefs vide indique qu'il n'y a aucune restriction.

Si la référence Git n'est pas incluse dans le champ de filtre ignoredGitRefs, Secure Source Manager vérifie le champ de filtre includedGitRefs. Si la référence Git se trouve dans le champ de filtre includedGitRefs, une compilation est déclenchée. Si le champ de filtre includedGitRefs n'est pas vide et que la référence Git n'est pas incluse dans le champ de filtre includedGitRefs, aucune compilation n'est déclenchée.

ignoredGitRefs

Facultatif. Expression régulière au format RE2 correspondant aux références Git qui ne doivent pas déclencher de compilation.

Par défaut, cette valeur n'est pas renseignée. Un champ de filtre ignoredGitRefs vide indique qu'il n'y a aucune restriction.

Secure Source Manager vérifie d'abord le champ de filtre ignoredGitRefs. Si elle n'est pas vide et que la référence Git correspond au champ de filtre ignoredGitRefs, aucune compilation n'est déclenchée.

serviceAccount

Obligatoire. Le compte de service Cloud Build à utiliser pour la compilation.

Format : projects/PROJECT_ID/serviceAccounts/ACCOUNT

Remplacez les éléments suivants :

  • PROJECT_ID : avec l'ID du projet Google Cloud dans lequel vous avez créé le compte de service.
  • ACCOUNT : avec l'adresse e-mail ou l'ID unique du compte de service.

includedFiles

Facultatif. Expression régulière au format RE2 correspondant aux fichiers qui doivent déclencher une compilation lorsqu'ils sont modifiés.

Si les fichiers modifiés ne se trouvent pas dans le champ de filtre ignoredFiles et qu'ils correspondent au champ de filtre includedFiles, une compilation est déclenchée.

Par défaut, cette valeur n'est pas renseignée. Un champ de filtre vide indique qu'il n'y a aucune restriction.

ignoredFiles

Facultatif. Expression régulière au format RE2 correspondant aux fichiers qui ne doivent pas déclencher de compilation lorsqu'ils sont modifiés.

Si le champ de filtre ignoredFiles n'est pas vide, les commits qui n'incluent que les fichiers correspondant au champ de filtre ignoredFiles ne déclenchent pas de compilation. La valeur par défaut est vide. Un filtre vide indique qu'il n'y a aucune restriction.

disabled

Facultatif. Valeur booléenne permettant de définir si le déclencheur est désactivé ou non. Les valeurs sont true ou false.

La valeur par défaut est false.

substitutions

Utilisez des substitutions dans votre fichier de déclencheurs pour remplacer des variables spécifiques au moment de la compilation dans votre fichier de configuration Cloud Build.

Les substitutions doivent commencer par un trait de soulignement et ne peuvent contenir que des lettres majuscules, des traits de soulignement et des chiffres, ou être l'une des variables de substitution Secure Source Manager.

Secure Source Manager fournit les variables de substitution par défaut suivantes :

  • TRIGGER_NAME : nom associé au déclencheur.
  • COMMIT_SHA : ID de commit associé au déclencheur.
  • REVISION_ID : ID de commit associé au déclencheur.
  • SHORT_SHA : les sept premiers caractères de COMMIT_SHA.
  • REPO_NAME : nom du dépôt Exemple : my-repo.
  • REPO_FULL_NAME : chemin d'accès à la ressource du dépôt, par exemple : projects/my-project/locations/us-central/repositories/test-repo.
  • REF_NAME : nom de la branche ou du tag associé au déclencheur.
  • TRIGGER_BUILD_CONFIG_PATH : chemin d'accès au fichier de configuration de compilation utilisé lors de l'exécution de la compilation.

Pour savoir comment inclure des variables de substitution Secure Source Manager dans votre fichier de configuration Cloud Build, consultez Remplacer les valeurs des variables.

Étapes suivantes