Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Arbeiten mit Auslösern
Mit einem Workflow-Auslöser oder einfach einem Auslöser können Sie eine Workflow-Ausführung automatisch starten, wenn bestimmte Ereignisse auftreten, z. B. ein Code-Push. Möglicherweise möchten Sie Auslöser konfigurieren, damit Ihre Softwareentwickler Workflow-Ausführungen manuell über die CodeCatalyst Konsole starten können.
Sie können drei Arten von Auslösern verwenden:
-
Push – Ein Code-Push-Auslöser bewirkt, dass eine Workflow-Ausführung gestartet wird, wenn ein Commit übertragen wird.
-
Pull-Anforderung – Ein Pull-Anforderungsauslöser führt dazu, dass eine Workflow-Ausführung gestartet wird, wenn eine Pull-Anforderung entweder erstellt, überarbeitet oder geschlossen wird.
-
Zeitplan – Ein Zeitplanauslöser bewirkt, dass eine Workflow-Ausführung nach einem von Ihnen definierten Zeitplan gestartet wird. Erwägen Sie, einen Zeitplanauslöser zu verwenden, um jede Nacht Builds Ihrer Software auszuführen, damit Ihre Softwareentwickler am nächsten Tag arbeiten können.
Sie können Push-, Pull-Anforderungs- und Zeitplanauslöser allein oder in Kombination im selben Workflow verwenden.
Tipp
Um einen Auslöser in Aktion zu sehen, starten Sie ein Projekt mit einer Vorlage. Die meisten Vorlagen enthalten einen Workflow mit einem Auslöser. Suchen Sie in der Workflow-Definitionsdatei des Blueprints nach der Trigger
Eigenschaft . Weitere Informationen über Pläne finden Sie unter Ein Projekt mit einem Blueprint erstellen.
Themen
Eine gemeinsame Auslöserkonfiguration
In diesem Abschnitt wird beschrieben, wie Sie Auslöser für eine gängige Software-Release- und Verzweigungsstrategie einrichten.
Software-Release- und Verzweigungsstrategie:
-
Sie haben Anwendungscode in einem Quell-Repository.
-
Ihre
main
Verzweigung enthält finalisierten Code, der immer bereit für die Veröffentlichung ist. -
Ihre Softwareentwickler nehmen ihre Änderungen an Feature-Zweigen außerhalb des
main
Zweigs vor. -
Ihre Softwareentwickler erstellen eine Pull-Anfrage, in der sie aufgefordert werden, ihren Feature-Zweig zusammenzuführen
main
, wenn ihr Feature bereit ist.Sie möchten, dass diese Pull-Anforderung automatisch einen Workflow startet, der die Anwendung mithilfe der Dateien auf dem Feature-Zweig des Softwareentwicklers erstellt und testet – aber nicht bereitstellt.
-
Ihre Softwareentwickler überprüfen den Build und die Tests, um sicherzustellen, dass jede Menge gut aussieht. Anschließend führen sie die Pull-Anforderung in der
main
Verzweigung zusammen.Sie möchten, dass die Zusammenführung automatisch einen Workflow startet, der Ihren Anwendungscode erstellt und bereitstellt.
Vorgeschlagene Workflow-/Auslöserkonfiguration:
Aufgrund der zuvor beschriebenen Softwareverzweigungsstrategie sollten Sie zwei Workflows verwenden:
-
Workflow 1 erstellt und testet Ihre Anwendung, wenn eine Pull-Anforderung erstellt oder überarbeitet wird.
-
Workflow 2 erstellt und stellt Ihre Anwendung bereit, wenn eine Pull-Anforderung zusammengeführt wird.
Workflow 1 würde wie folgt aussehen:
Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION Actions: BuildAction:
instructions-for-building-the-app
TestAction:instructions-for-test-the-app
Der vorherige Auslösercode startet automatisch eine Workflow-Ausführung, wenn ein Softwareentwickler eine Pull-Anforderung erstellt (oder eine ändert), in der er aufgefordert wird, seinen Feature-Zweig mit dem main
Zweig zusammenzuführen. CodeCatalyst startet eine Workflow-Ausführung mit dem Code in der Quellverzweigung (d. h. der Feature-Verzweigung des Entwicklers). Der Workflow erstellt und stellt die Anwendung bereit.
Workflow 2 würde wie folgt aussehen:
Triggers: - Type: PUSH Branches: - main Actions: BuildAction:
instructions-for-building-the-app
DeployAction:instructions-for-deploying-the-app
Wenn im vorherigen Auslösercode eine Zusammenführung mit main
erfolgt, wird der PUSH
Auslöser aktiviert. CodeCatalyst startet eine Workflow-Ausführung mit dem Code in der main
Verzweigung (der jetzt den Code aus der Pull-Anforderung enthält). Der Workflow erstellt und stellt die Anwendung bereit.
Anweisungen zum Hinzufügen von Auslösern zu einer Workflow-Definitionsdatei finden Sie unter Hinzufügen eines Push-, Pull- oder Zeitplanauslösers.
Weitere Beispiele für Auslöser und zusätzliche Erklärungen finden Sie unter Beispiele für Auslöser.
Überlegungen zu Auslösern bei der Verzweigung
In diesem Abschnitt werden einige der wichtigsten Überlegungen beim Einrichten von Auslösern beschrieben, die Verzweigungen enthalten.
-
Überlegungen 1: Wenn Sie sowohl bei Push- als auch bei Pull-Anforderungsauslösern einen Zweig angeben möchten, müssen Sie den Zielzweig (oder „an“) in der Auslöserkonfiguration angeben. Geben Sie niemals den Quellzweig (oder „von“) an.
Im folgenden Beispiel
main
aktiviert ein Push von einer beliebigen Verzweigung zu den Workflow.Triggers: - Type: PUSH Branches: - main
Im folgenden Beispiel
main
aktiviert eine Pull-Anforderung von einer beliebigen Verzweigung in den Workflow.Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION
-
Überlegungen 2: Bei Push-Auslösern wird der Workflow nach der Aktivierung des Workflows mit der Workflow-Definitionsdatei und den Quelldateien im Zielzweig ausgeführt.
-
Überlegungen 3: Bei Pull-Anforderungsauslösern wird der Workflow nach der Aktivierung des Workflows mit der Workflow-Definitionsdatei und den Quelldateien im Quellzweig ausgeführt (obwohl Sie den Zielzweig in der Auslöserkonfiguration angegeben haben).
-
Überlegungen 4: Der genaue Auslöser in einer Verzweigung wird möglicherweise nicht in einer anderen Verzweigung ausgeführt.
Betrachten Sie den folgenden Push-Auslöser:
Triggers: - Type: PUSH Branches: - main
Wenn die Workflow-Definitionsdatei, die diesen Auslöser enthält, in vorhanden ist
main
und in geklont wirdtest
, beginnt der Workflow niemals automatisch mit der Verwendung der Dateien intest
(obwohl Sie den Workflow manuell starten können, wenn Sie die Dateien in verwendentest
). Lesen Sie die Überlegungen 1 und 2, um zu verstehen, warum der Workflow niemals automatisch mit den Dateien in ausgeführt wirdtest
.Berücksichtigen Sie auch den folgenden Auslöser für Pull-Anfragen:
Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION
Wenn die Workflow-Definitionsdatei, die diesen Auslöser enthält, in vorhanden ist
main
, wird der Workflow niemals mit den Dateien in ausgeführtmain
. (Wenn Sie jedoch einetest
Verzweigung außerhalb von erstellenmain
, wird der Workflow mit den Dateien in ausgeführttest
.) Lesen Sie die Überlegungen 1 und 3, um zu verstehen, warum.
Hinzufügen eines Push-, Pull- oder Zeitplanauslösers
Verwenden Sie die folgenden Anweisungen, um Ihrem Workflow einen Push-, Pull- oder Zeitplanauslöser hinzuzufügen.
Beispiele für Auslöser
Die folgenden Beispiele zeigen, wie Sie verschiedene Arten von Auslösern in der Workflow-Definitionsdatei hinzufügen.
Themen
- Beispiel: Ein einfacher Code-Push-Auslöser
- Beispiel: Ein einfacher „Push to Main“-Auslöser
- Beispiel: Ein einfacher Pull-Anforderungsauslöser
- Beispiel: Ein einfacher Zeitplanauslöser
- Beispiel: Ein Auslöser mit einem Zeitplan und Verzweigungen
- Beispiel: Ein Auslöser mit einem Zeitplan, einem Push und Verzweigungen
- Beispiel: Ein Auslöser mit einem Pull und Verzweigungen
- Beispiel: Ein Auslöser mit einem Pull-, Verzweig- und einem „CLOSED“-Ereignis
- Beispiel: Ein Auslöser mit Push, Verzweigungen und Dateien
Beispiel: Ein einfacher Code-Push-Auslöser
Das folgende Beispiel zeigt einen Auslöser, der eine Workflow-Ausführung startet, wenn Code an eine Verzweigung in Ihrem Quell-Repository übertragen wird.
Wenn dieser Auslöser aktiviert ist, CodeCatalyst startet eine Workflow-Ausführung mit den Dateien in der Verzweigung, an die Sie übertragen (d. h. der Zielverzweigung).
Wenn Sie beispielsweise einen Commit an übertragenmain
, CodeCatalyst startet eine Workflow-Ausführung mit der workfow-Definitionsdatei und anderen Quelldateien auf main
.
Wenn Sie beispielsweise einen Commit an übertragenfeature-branch-123
, CodeCatalyst startet eine Workflow-Ausführung mit der Workfow-Definitionsdatei und anderen Quelldateien auf feature-branch-123
.
Triggers: - Type: PUSH
Anmerkung
Wenn Sie möchten, dass eine Workflow-Ausführung nur gestartet wird, wenn Sie zu pushenmain
, finden Sie weitere Informationen unter Beispiel: Ein einfacher „Push to Main“-Auslöser.
Beispiel: Ein einfacher „Push to Main“-Auslöser
Das folgende Beispiel zeigt einen Auslöser, der eine Workflow-Ausführung startet, wenn Code an den main
Zweig – und nur den main
Zweig – in Ihrem Quell-Repository übertragen wird.
Triggers: - Type: PUSH Branches: - main
Beispiel: Ein einfacher Pull-Anforderungsauslöser
Das folgende Beispiel zeigt einen Auslöser, der eine Workflow-Ausführung startet, wenn eine Pull-Anforderung in Ihrem Quell-Repository erstellt oder überarbeitet wird.
Wenn dieser Auslöser aktiviert ist, CodeCatalyst startet eine Workflow-Ausführung mit der Workflow-Definitionsdatei und anderen Quelldateien in der Verzweigung, aus der Sie abrufen (d. h. der Quellverzweigung).
Wenn Sie beispielsweise eine Pull-Anforderung mit einer Quellverzweigung namens feature-123
und einer Zielverzweigung namens erstellenmain
, CodeCatalyst startet eine Workflow-Ausführung mit der Workfow-Definitionsdatei und anderen Quelldateien auf feature-123
.
Triggers: - Type: PULLREQUEST Events: - OPEN - REVISION
Beispiel: Ein einfacher Zeitplanauslöser
Das folgende Beispiel zeigt einen Auslöser, der eine Workflow-Ausführung jeden Montag bis Freitag um Mitternacht (UTC+0) startet.
Wenn dieser Auslöser aktiviert ist, CodeCatalyst startet eine einzelne Workflow-Ausführung für jede Verzweigung in Ihrem Quell-Repository, die eine Workflow-Definitionsdatei mit diesem Auslöser enthält.
Wenn Sie beispielsweise drei Verzweigungen in Ihrem Quell-Repository haben, main
, release-v1
feature-123
, und jede dieser Verzweigungen enthält eine Workflow-Definitionsdatei mit dem folgenden Auslöser, CodeCatalyst startet drei Workflow-Ausführungen: eine mit den Dateien in release-v1
, main
eine mit den Dateien in und eine andere mit den Dateien in feature-123
.
Triggers: - Type: SCHEDULE Expression: "0 0 ? * MON-FRI *"
Weitere Beispiele für Cron-Ausdrücke, die Sie in der -Expression
Eigenschaft verwenden können, finden Sie unter Expression.
Beispiel: Ein Auslöser mit einem Zeitplan und Verzweigungen
Das folgende Beispiel zeigt einen Auslöser, der jeden Tag um 18:15 Uhr (UTC+0) eine Workflow-Ausführung startet.
Wenn dieser Auslöser aktiviert ist, CodeCatalyst startet eine Workflow-Ausführung mit den Dateien in der main
Verzweigung und startet zusätzliche Ausführungen für jede Verzweigung, die mit beginntrelease-
.
Wenn Sie beispielsweise Verzweigungen mit den Namen main
, release-v1
bugfix-1
, und bugfix-2
in Ihrem Quell-Repository haben, CodeCatalyst startet zwei Workflow-Ausführungen: eine mit den Dateien in main
und eine andere mit den Dateien in release-v1
. Workflow-Ausführungen für die bugfix-1
Verzweigungen bugfix-1
und werden nicht gestartet.
Triggers: - Type: SCHEDULE Expression: "15 18 * * ? *" Branches: - main - release\-.*
Weitere Beispiele für Cron-Ausdrücke, die Sie in der -Expression
Eigenschaft verwenden können, finden Sie unter Expression.
Beispiel: Ein Auslöser mit einem Zeitplan, einem Push und Verzweigungen
Das folgende Beispiel zeigt einen Auslöser, der jeden Tag eine Workflow-Ausführung um Mitternacht (UTC+0) startet und immer dann, wenn Code an die main
Verzweigung übertragen wird.
In diesem Beispiel:
-
Eine Workflow-Ausführung beginnt jeden Tag um Mitternacht. Die Workflow-Ausführung verwendet die Workflow-Definitionsdatei und andere Quelldateien in der
main
Verzweigung. -
Eine Workflow-Ausführung beginnt auch, wenn Sie einen Commit an die
main
Verzweigung übertragen. Die Workflow-Ausführung verwendet die Workflow-Definitionsdatei und andere Quelldateien in der Zielverzweigung (main
).
Triggers: - Type: SCHEDULE Expression: "0 0 * * ? *" Branches: - main - Type: PUSH Branches: - main
Weitere Beispiele für Cron-Ausdrücke, die Sie in der -Expression
Eigenschaft verwenden können, finden Sie unter Expression.
Beispiel: Ein Auslöser mit einem Pull und Verzweigungen
Das folgende Beispiel zeigt einen Auslöser, der eine Workflow-Ausführung startet, wenn jemand eine Pull-Anforderung mit einem Zielzweig namens öffnet oder ändertmain
. Obwohl die in der Triggers
Konfiguration angegebene Verzweigung istmain
, verwendet die Workflow-Ausführung die Workflow-Definitionsdatei und andere Quelldateien in der Quellverzweigung (die Verzweigung, aus der Sie abrufen).
Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION
Beispiel: Ein Auslöser mit einem Pull-, Verzweig- und einem „CLOSED“-Ereignis
Das folgende Beispiel zeigt einen Auslöser, der eine Workflow-Ausführung startet, wenn eine Pull-Anforderung für eine Verzweigung geschlossen wird, die mit beginntmain
.
In diesem Beispiel:
-
Wenn Sie eine Pull-Anforderung mit einem Zielzweig schließen, der mit beginnt
main
, beginnt eine Workflow-Ausführung automatisch mit der Workflow-Definitionsdatei und anderen Quelldateien im (jetzt geschlossenen) Quellzweig. -
Wenn Sie Ihr Quell-Repository so konfiguriert haben, dass Verzweigungen automatisch gelöscht werden, nachdem eine Pull-Anforderung zusammengeführt wurde, haben diese Verzweigungen nie die Möglichkeit, in den -
CLOSED
Status überzugehen. Das bedeutet, dass zusammengeführte Verzweigungen den Pull-CLOSED
Anforderungsauslöser nicht aktivieren. Die einzige Möglichkeit, denCLOSED
Auslöser in diesem Szenario zu aktivieren, besteht darin, die Pull-Anforderung zu schließen, ohne sie zusammenzuführen.
Triggers: - Type: PULLREQUEST Branches: - main.* Events: - CLOSED
Beispiel: Ein Auslöser mit Push, Verzweigungen und Dateien
Das folgende Beispiel zeigt einen Auslöser, der eine Workflow-Ausführung startet, wenn eine Änderung an der filename.txt
Datei oder einer Datei im src
Verzeichnis auf der main
Verzweigung vorgenommen wird.
Wenn dieser Auslöser aktiviert ist, CodeCatalyst startet eine Workflow-Ausführung mit der Workflow-Definitionsdatei und anderen Quelldateien in der main
Verzweigung.
Triggers: - Type: PUSH Branches: - main FilesChanged: - filename.txt - src\/.*