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 vonCOMMIT_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
- Triggerdatei erstellen
- Weitere Informationen zu Cloud Build-Konfigurationsdateien finden Sie unter Build-Konfigurationsdateischema.