Schema del file dei trigger

Questa pagina spiega lo schema del file dei trigger di Secure Source Manager. Per istruzioni sulla creazione di un file di trigger, consulta Creare un file di trigger.

Un file di trigger contiene istruzioni per Secure Source Manager per attivare i passaggi definiti in un file di configurazione di Cloud Build in base a un evento di richiesta push o pull in Secure Source Manager.

Puoi configurare le regole di protezione dei rami in modo che richiedano un controllo dello stato riuscito da trigger specifici. Per scoprire di più sulla protezione dei rami, leggi la Panoramica della protezione dei rami.

Struttura di un file di trigger

Il file di configurazione dei trigger deve essere creato nel ramo predefinito del repository. Puoi scrivere il file dei trigger utilizzando la sintassi YAML.

Un file di attivatori ha la seguente struttura:

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

Ogni sezione denominata del file di attivatori definisce la configurazione di Cloud Build da utilizzare per il tipo di evento specificato in Secure Source Manager.

Trigger

Un trigger specifica il tipo di evento Secure Source Manager che vuoi utilizzare per attivare il completamento dei passaggi in un file di configurazione Cloud Build specifico. Puoi anche specificare i rami monitorati per l'evento specificato.

Utilizza il campo name nel file dei trigger per identificare un trigger. Ecco un esempio del tipo di configurazione che potresti impostare nel file dei trigger:

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

Obbligatorio. Utilizza il campo name del trigger per identificarlo. I nomi dei trigger possono contenere solo caratteri alfanumerici e trattini e non possono iniziare o terminare con un trattino. I nomi dei trigger devono essere inferiori a 64 caratteri.

project

Facoltativo. Utilizza il campo project per identificare il progetto Google Cloud in cui hai attivato Cloud Build.

Il valore predefinito è il progetto Secure Source Manager.

configFilePath

Facoltativo. Percorso del file di configurazione di Cloud Build.

Il valore predefinito è .cloudbuild/cloudbuild.yaml.

eventType

Facoltativo. Il tipo di evento da attivare. Le opzioni sono push per i push ai rami selezionati o pull_request per le richieste di pull ai rami selezionati.

Il valore predefinito è push.

includedGitRefs

Facoltativo. Un'espressione regolare in formato RE2 che corrisponde ai riferimenti Git che attivano una build.

Il valore predefinito è vuoto. Un campo di filtro includedGitRefs vuoto indica che non ci sono restrizioni.

Se il riferimento Git non è incluso nel campo del filtro ignoredGitRefs, Secure Source Manager controlla il campo del filtro includedGitRefs. Se il riferimento Git si trova nel campo del filtro includedGitRefs, viene attivata una build. Se il campo includedGitRefs del filtro non è vuoto e il riferimento Git non è incluso nel campo includedGitRefs del filtro, non viene attivata una build.

ignoredGitRefs

Facoltativo. Un'espressione regolare in formato RE2 che corrisponde ai riferimenti Git che non devono attivare una build.

Il valore predefinito è vuoto. Un campo di filtro ignoredGitRefs vuoto indica che non ci sono restrizioni.

Secure Source Manager controlla prima il campo del filtro ignoredGitRefs. Se non è vuoto e il riferimento Git corrisponde al campo del filtro ignoredGitRefs, non viene attivata una build.

serviceAccount

Obbligatorio. Il service account Cloud Build da utilizzare per la build.

Formato: projects/PROJECT_ID/serviceAccounts/ACCOUNT

Sostituisci quanto segue:

  • PROJECT_ID: con l'ID progetto Google Cloud in cui hai creato il account di servizio.
  • ACCOUNT: con l'indirizzo email o l'ID univoco del service account.

includedFiles

Facoltativo. Un'espressione regolare in formato RE2 che corrisponde ai file che devono attivare una build quando vengono modificati.

Se i file modificati non si trovano nel campo del filtro ignoredFiles e corrispondono al campo del filtro includedFiles, viene attivata una build.

Il valore predefinito è vuoto. Un campo filtro vuoto indica che non sono presenti limitazioni.

ignoredFiles

Facoltativo. Un'espressione regolare in formato RE2 che corrisponde ai file che non devono attivare una build quando vengono modificati.

Se il campo del filtro ignoredFiles non è vuoto, i commit che includono solo i file che corrispondono al campo del filtro ignoredFiles non attiveranno una build. Il valore predefinito è vuoto. Un filtro vuoto indica che non ci sono restrizioni.

disabled

Facoltativo. Un valore booleano per impostare se il trigger è disattivato o meno. I valori sono true o false.

Il valore predefinito è false.

substitutions

Utilizza le sostituzioni nel file dei trigger per sostituire variabili specifiche in fase di build nel file di configurazione di Cloud Build.

Le sostituzioni devono iniziare con un trattino basso e possono contenere solo lettere maiuscole, trattini bassi e numeri oppure essere una delle variabili di sostituzione di Secure Source Manager.

Secure Source Manager fornisce le seguenti variabili di sostituzione predefinite:

  • TRIGGER_NAME: il nome associato al trigger.
  • COMMIT_SHA: l'ID commit associato al trigger.
  • REVISION_ID: l'ID commit associato al trigger.
  • SHORT_SHA: i primi sette caratteri di COMMIT_SHA.
  • REPO_NAME: il nome del repository. Ad esempio: my-repo.
  • REPO_FULL_NAME: il percorso della risorsa del repository, ad esempio: projects/my-project/locations/us-central/repositories/test-repo.
  • REF_NAME: il nome del ramo o del tag associato al trigger.
  • TRIGGER_BUILD_CONFIG_PATH: il percorso del file di configurazione della build utilizzato durante l'esecuzione della build.

Per informazioni su come includere le variabili di sostituzione di Secure Source Manager nel file di configurazione di Cloud Build, consulta Sostituzione dei valori delle variabili.

Passaggi successivi