Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Ein Pipelinetrigger teilt einer Pipeline mit, wann sie ausgeführt werden soll. Sie können einen Trigger konfigurieren, um eine Pipeline basierend auf einem Zeitplan oder als Reaktion auf ein Ereignis auszuführen, z. B. die Erstellung einer Pullanforderung. Azure Pipelines unterstützt die folgenden Triggertypen:
- Trigger für die kontinuierliche Integration (CI-Trigger) lösen eine Pipeline aus, wenn Sie Code in einen Branch pushen.
- Pull-Request-Trigger (PR-Trigger) führen eine Pipeline aus, wenn Sie einen Pull Request erstellen oder Code in den Quellbranch eines offenen Pull Requests pushen. GitHub Repositorys unterstützen Kommentartrigger, die eine Pipeline ausführen, wenn Sie Kommentare zu einer geöffneten Pullanforderung hinzufügen.
- Geplante Trigger führen eine Pipeline nach einem vordefinierten Zeitplan aus.
- Trigger für den Pipelineabschluss führen eine Pipeline aus, wenn eine andere Pipeline abgeschlossen wird.
Dieser Artikel bietet einen Überblick über Trigger für YAML-Pipelines und Trigger für klassische Buildpipelines. Klassische Release-Pipelines verfügen über ähnliche Versionen der Trigger, die in der vorherigen Liste beschrieben sind. Weitere Informationen finden Sie unter Klassische Releasepipeline-Trigger.
CI-Auslöser
CI-Trigger führen eine Pipeline aus, wenn ein Push an eine Verzweigung erfolgt, die den vom Trigger definierten Kriterien entspricht. Verwenden Sie das trigger Schlüsselwort, um einen CI-Trigger zu konfigurieren. Wenn Sie beispielsweise eine Pipeline ausführen möchten, wenn ein Push an den Branch main erfolgt, geben Sie den folgenden Trigger an.
trigger:
- main
Wenn Sie Ihre Pipeline nicht explizit konfigurieren, sind für alle Branches standardmäßig CI-Trigger aktiviert, es sei denn, Impliziten CI-Trigger deaktivieren ist festgelegt oder UI-Einstellungen den YAML-Trigger überschreiben.
Wenn Sie Ihre Pipeline nicht explizit konfigurieren, sind CI-Trigger standardmäßig für alle Branches aktiviert, es sei denn, Disable implied CI trigger ist festgelegt oder UI settings override YAML trigger.
Hinweis
Impliziten CI-Trigger deaktivieren ist nur in Azure DevOps Server 2022.2 und höheren Versionen verfügbar. In Azure DevOps Server 2022 und 2022.1 sind CI-Trigger standardmäßig aktiviert, wenn sie nicht explizit konfiguriert sind.
Verwenden Sie die folgende Syntax, um CI-Trigger in Ihrer Pipeline zu deaktivieren.
trigger: none
YAML-Pipelines unterstützen CI-Trigger für die folgenden Repositorytypen. Spezifische Informationen zur Verwendung von CI-Triggern mit einem bestimmten Repositorytyp finden Sie in den folgenden Artikeln.
- CI-Trigger in Azure Repos Git
- CI-Auslöser in GitHub
- CI-Trigger in GitHub Enterprise Server
- CI-Trigger in Bitbucket Cloud
Informationen zur vollständigen YAML-Triggersyntax und -optionen, die für CI-Trigger verfügbar sind, finden Sie unter Triggerdefinition.
Important
Bei Pfaden in Git wird zwischen Groß- und Kleinschreibung unterschieden, einschließlich der Pfadfilter für CI- und PR-Trigger.
PR-Trigger
Pull-Anforderungstrigger (PR) führen dazu, dass eine Pipeline ausgeführt wird, wenn Sie eine Pullanforderung öffnen oder Änderungen an den Quellzweig einer Pullanforderung übertragen. Verwenden Sie das pr Schlüsselwort zum Konfigurieren eines PR-Triggers. Wenn Sie beispielsweise eine Pipeline ausführen möchten, wenn für den main-Branch ein Pull Request erstellt wird, geben Sie den folgenden Trigger an.
pr:
- main
Wenn Sie PR-Trigger in Ihrer Pipeline nicht explizit konfigurieren, sind sie standardmäßig aktiviert, es sei denn, DIE UI-Einstellungen überschreiben den YAML-Trigger. Pull Requests an jeden Branch lösen eine Pipelineausführung aus. Verwenden Sie die folgende Syntax, um PR-Trigger in Ihrer Pipeline zu deaktivieren.
pr: none
YAML PR-Trigger werden für GitHub und Bitbucket Cloud unterstützt. Weitere Informationen zur Verwendung von PR-Triggern mit diesen Repositorytypen finden Sie unter PR triggers in GitHub und PR triggers in Bitbucket Cloud. Informationen zur vollständigen YAML PR-Triggersyntax finden Sie in der PR-Definition.
Azure Repos Git verwendet Verzweigungsrichtlinien zur Implementierung von PR-Triggern. Weitere Informationen finden Sie unter PR-Trigger in Azure Repos Git.
Auslöser für Kommentare
Kommentartrigger konfigurieren eine Pipeline so, dass sie ausgeführt wird, wenn Mitwirkende einen Kommentar zu einem Pull Request verfassen, der einen Pull-Request-Befehl wie /azp run enthält. Kommentartrigger werden nur für GitHub Repositorys unterstützt. Weitere Informationen finden Sie unter Auslöser für GitHub-Repositorykommentare.
Geplante Auslöser
Geplante Trigger führen eine Pipeline nach einem vordefinierten Zeitplan aus. Alle Repositorytypen, die YAML-Pipelines unterstützen, unterstützen geplante Trigger in YAML-Pipelines. Zu diesen Repositorytypen gehören Azure Repos Git, GitHub, GitHub Enterprise Server und Bitbucket Cloud.
Verwenden Sie zum Definieren eines geplanten Triggers in YAML das schedules Schlüsselwort, und definieren Sie Ihren Zeitplan mithilfe der Cron-Syntax. Im folgenden Beispiel wird ein Zeitplan konfiguriert, der täglich um Mitternacht ausgeführt wird.
# YAML file in the main branch
schedules:
- cron: '0 0 * * *'
displayName: Daily midnight build
branches:
include:
- main
Weitere Informationen und Beispiele finden Sie unter "Geplante Trigger", "Zeitplandefinition" und "schedules.cron"-Definition.
Auslöser bei Abschluss einer Pipeline
Pipeline-Trigger in YAML-Pipelines und Trigger für Buildabschlüsse in klassischen Buildpipelines ermöglichen Ihnen, eine Pipeline auszulösen, sobald eine andere abgeschlossen ist.
Richten Sie in Ihrer Pipeline einen Trigger für eine Pipelineressource ein, um einen Pipelinelauf zu starten, sobald die Quellpipeline einen Lauf abgeschlossen hat.
resources:
pipelines:
- pipeline: sourcePipelineResource # Label for this pipeline resource; used when referring to it elsewhere in the pipeline.
source: source-pipeline # The name of the pipeline referenced by this pipeline resource.
project: FabrikamProject # Required only if the source pipeline is in another project
trigger: true # Run this pipeline when any run of source-pipeline completes
Sie können Ihrer Pipeline mehrere Pipeline-Ressourcen hinzufügen. Sie können den Trigger so konfigurieren, dass er ausgeführt wird, wenn eine beliebige Version der Quellpipeline abgeschlossen ist, oder sie auf bestimmte Verzweigungen beschränken.
Weitere Informationen und Beispiele finden Sie unter Pipelineabschlusstrigger.
Die vollständige Syntax und die Triggeroptionen finden Sie unter resources.pipelines.pipeline definition.
Überlegungen zu Branches für Trigger in YAML-Pipelines
YAML-Pipelines können in verschiedenen Branches unterschiedliche Versionen der Pipeline aufweisen, was sich darauf auswirken kann, welche Version der Trigger der Pipeline ausgewertet wird und welche Version der Pipeline ausgeführt werden soll.
| Auslösertyp | YAML-Version der Pipeline |
|---|---|
CI-Trigger (trigger) |
Die Version der Pipeline im gepushten Branch wird verwendet. |
PR-Trigger (pr) |
Die Version der Pipeline im Quellbranch des Pull Requests wird verwendet. |
| Trigger für Pull-Request-Kommentare | Die Version der Pipeline aus dem Quellbranch des Pull Requests wird verwendet. |
| Geplante Auslöser | Siehe Überlegungen zu Branches für geplante Trigger. |
| Auslöser für den Pipelineabschluss | Siehe Überlegungen zu Branches für Trigger für den Pipelineabschluss. |
Klassische Release-Pipelines
Trigger für die kontinuierliche Bereitstellung helfen Ihnen, klassische Releases zu starten, nachdem ein klassischer Build oder eine YAML-Pipeline abgeschlossen wurde.
Mit Triggern für geplante Releases können Sie eine Releasepipeline einem Zeitplan entsprechend ausführen.
Releaseauslöser für Pull Requests werden verwendet, um einen Pull Request direkt mit klassischen Releases bereitzustellen.
Phasentrigger bei klassischem Release werden verwendet, um zu konfigurieren, wie die Phasen in einem klassischen Release ausgelöst werden.