Schema der Triggerdatei

Auf dieser Seite wird das Schema der Datei mit Secure Source Manager-Triggern erläutert. Eine Anleitung zum Erstellen einer Triggerdatei finden Sie unter Triggerdatei erstellen.

Eine Triggerdatei enthält Anweisungen für Secure Source Manager, mit denen die in einer Cloud Build-Konfigurationsdatei definierten Schritte basierend auf einem Push- oder Pull-Anfrageereignis in Secure Source Manager ausgelöst werden.

Sie können Ihre Regeln für den Schutz von Branches so konfigurieren, dass ein erfolgreicher Statuscheck von bestimmten Triggern erforderlich ist. Weitere Informationen zum Schutz von Branches finden Sie unter Übersicht zum Schutz von Branches.

Struktur einer Triggerdatei

Die Konfigurationsdatei für Trigger muss im Standardbranch Ihres Repositorys erstellt werden. Sie können die Datei mit Triggern in der YAML-Syntax schreiben.

Eine Datei mit Triggern hat die folgende Struktur:

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

Jeder benannte Abschnitt der Triggerdatei definiert die Cloud Build-Konfiguration, die für den angegebenen Ereignistyp in Secure Source Manager verwendet werden soll.

Trigger

Mit einem Trigger wird angegeben, welcher Secure Source Manager-Ereignistyp verwendet werden soll, um die Ausführung der Schritte in einer bestimmten Cloud Build-Konfigurationsdatei auszulösen. Sie können auch angeben, welche Zweige für das angegebene Ereignis überwacht werden sollen.

Verwenden Sie das Feld name in der Triggerdatei, um einen Trigger zu identifizieren. Nachfolgend sehen Sie ein Beispiel für die Art der Konfiguration, die Sie in der Datei mit Triggern festlegen können:

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

Pflichtangabe. Verwenden Sie das Feld name des Triggers, um ihn zu identifizieren. Triggernamen dürfen nur alphanumerische Zeichen und Bindestriche enthalten und dürfen nicht mit einem Bindestrich beginnen oder enden. Der Triggername muss kürzer als 64 Zeichen sein.

project

Optional. Verwenden Sie das Feld project, um das Google Cloud Projekt anzugeben, in dem Sie Cloud Build aktiviert haben.

Der Standardwert ist das Secure Source Manager-Projekt.

configFilePath

Optional. Pfad zur Cloud Build-Konfigurationsdatei.

Der Standardwert ist .cloudbuild/cloudbuild.yaml.

eventType

Optional. Der Ereignistyp, der ausgelöst werden soll. Die Optionen sind push für Push-Vorgänge in die ausgewählten Branches oder pull_request für Pull-Anfragen an die ausgewählten Branches.

Der Standardwert ist push.

includedGitRefs

Optional. Ein regulärer Ausdruck im RE2-Format, der mit den Git-Referenzen übereinstimmt, die einen Build auslösen.

Der Standardwert ist leer. Ein leeres Filterfeld includedGitRefs bedeutet, dass es keine Einschränkungen gibt.

Wenn die Git-Referenz nicht im Filterfeld ignoredGitRefs enthalten ist, wird das Filterfeld includedGitRefs geprüft. Wenn sich die Git-Referenz im Filterfeld includedGitRefs befindet, wird ein Build ausgelöst. Wenn das Filterfeld includedGitRefs nicht leer ist und die Git-Referenz nicht im Filterfeld includedGitRefs enthalten ist, wird kein Build ausgelöst.

ignoredGitRefs

Optional. Ein regulärer Ausdruck im RE2-Format, der mit Git-Referenzen übereinstimmt, die keinen Build auslösen sollen.

Der Standardwert ist leer. Ein leeres Filterfeld ignoredGitRefs bedeutet, dass es keine Einschränkungen gibt.

Secure Source Manager prüft zuerst das Filterfeld ignoredGitRefs. Wenn sie nicht leer ist und die Git-Referenz mit dem Filterfeld ignoredGitRefs übereinstimmt, wird kein Build ausgelöst.

serviceAccount

Pflichtangabe. Das Cloud Build-Dienstkonto, das für den Build verwendet werden soll.

Format: projects/PROJECT_ID/serviceAccounts/ACCOUNT

Ersetzen Sie Folgendes:

  • PROJECT_ID: mit der Google Cloud Projekt-ID, unter der Sie das Dienstkonto erstellt haben.
  • ACCOUNT: mit der E-Mail-Adresse oder eindeutigen ID des Dienstkontos.

includedFiles

Optional. Ein regulärer Ausdruck im RE2-Format, der mit Dateien übereinstimmt, die bei einer Änderung einen Build auslösen sollen.

Wenn die geänderten Dateien nicht im Filterfeld ignoredFiles enthalten sind und mit dem Filterfeld includedFiles übereinstimmen, wird ein Build ausgelöst.

Der Standardwert ist leer. Ein leeres Filterfeld bedeutet, dass es keine Einschränkungen gibt.

ignoredFiles

Optional. Ein regulärer Ausdruck im RE2-Format, der mit Dateien übereinstimmt, bei deren Änderung kein Build ausgelöst werden soll.

Wenn das Filterfeld ignoredFiles nicht leer ist, werden durch Commits, die nur Dateien enthalten, die dem Filterfeld ignoredFiles entsprechen, keine Builds ausgelöst. Der Standardwert ist leer. Ein leerer Filter bedeutet, dass es keine Einschränkungen gibt.

disabled

Optional. Ein boolescher Wert, der angibt, ob der Trigger deaktiviert ist. Mögliche Werte sind true und false.

Der Standardwert ist false.

substitutions

Verwenden Sie das Feld „substitutions“ in Ihrer Triggerdatei, um bestimmte Variablen zum Build-Zeitpunkt in Ihrer Cloud Build-Konfigurationsdatei zu ersetzen.

Ersetzungen müssen mit einem Unterstrich beginnen und dürfen nur Großbuchstaben, Unterstriche und Ziffern enthalten oder eine der Secure Source Manager-Ersetzungsvariablen sein.

Secure Source Manager bietet die folgenden Standardvariablen für Substitutionen:

  • TRIGGER_NAME: der mit dem Trigger verknüpfte Name.
  • COMMIT_SHA: die mit dem Trigger verknüpfte Commit-ID.
  • REVISION_ID: die mit dem Trigger verknüpfte Commit-ID.
  • SHORT_SHA: die ersten sieben Zeichen von COMMIT_SHA.
  • REPO_NAME: Name des Repositorys. Beispiel: my-repo
  • REPO_FULL_NAME: der Ressourcenpfad des Repositorys, z. B. projects/my-project/locations/us-central/repositories/test-repo.
  • REF_NAME: der Name des Zweigs oder Tags, der mit dem Trigger verknüpft ist.
  • TRIGGER_BUILD_CONFIG_PATH: Der Pfad zur Build-Konfigurationsdatei, die während der Build-Ausführung verwendet wird.

Informationen dazu, wie Sie Secure Source Manager-Substitutionsvariablen in Ihre Cloud Build-Konfigurationsdatei einfügen, finden Sie unter Variablenwerte ersetzen.

Nächste Schritte