Specificeer gebeurtenissen die pijplijnen triggeren

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Een pipeline-trigger geeft aan wanneer een pipeline moet worden uitgevoerd. U kunt een trigger configureren om een pijplijn uit te voeren op basis van een planning of als reactie op een gebeurtenis, zoals het maken van een pull-aanvraag. Azure-pipelines ondersteunt de volgende typen triggers:

  • Triggers voor continue integratie (CI-triggers) voeren een pijplijn uit wanneer u code naar een branch pusht.
  • Triggers voor pull-aanvragen (PR-triggers) voeren een pipeline uit wanneer u een PR opent of code pusht naar de bronbranch van een open PR. GitHub opslagplaatsen ondersteunen opmerkingentriggers die een pijplijn uitvoeren wanneer u opmerkingen toevoegt aan een geopende pull-aanvraag.
  • Geplande triggers voeren een pijplijn uit volgens een vooraf gedefinieerd schema.
  • Voltooiingstriggers voor pijplijnen starten een pijplijn nadat een andere pijplijn is voltooid.

Dit artikel bevat een overzicht van YAML-pijplijntriggers en klassieke build-pijplijntriggers . Klassieke release-pijplijnen hebben vergelijkbare versies van de triggers die in de vorige lijst worden beschreven. Zie Klassieke releasepijplijntriggers voor meer informatie.

CI-activeringen

CI-triggers voeren een pipeline uit wanneer er naar een branch wordt gepusht die voldoet aan de criteria die in de trigger zijn gedefinieerd. Gebruik het trigger trefwoord om een CI-trigger te configureren. Als u bijvoorbeeld een pijplijn wilt uitvoeren wanneer er een push naar de main branch wordt gedaan, geeft u de volgende trigger op.

trigger:
- main

Als u uw pijplijn niet expliciet configureert, zijn CI-triggers standaard voor alle branches ingeschakeld, tenzij Impliciete CI-trigger uitschakelen is ingesteld of UI-instellingen overschrijven YAML-trigger.

Als u uw pijplijn niet expliciet configureert, zijn CI-triggers standaard ingeschakeld voor alle branches, tenzij Impliciete CI-trigger uitschakelen is ingesteld of UI-instellingen overschrijven YAML-trigger.

Notitie

Disable impliciete CI-trigger is alleen beschikbaar in Azure DevOps Server 2022.2 en hoger. In Azure DevOps Server 2022 en 2022.1 worden CI-triggers standaard ingeschakeld als deze niet expliciet zijn geconfigureerd.

Gebruik de volgende syntaxis om CI-triggers in uw pijplijn uit te schakelen.

trigger: none

YAML-pijplijnen ondersteunen CI-triggers voor de volgende typen opslagplaatsen. Zie de volgende artikelen voor specifieke informatie over het gebruik van CI-triggers met een specifiek type opslagplaats.

Zie de triggerdefinitie voor meer informatie over de volledige YAML-triggersyntaxis en opties die beschikbaar zijn voor CI-triggers.

Important

Paden in Git zijn hoofdlettergevoelig, waaronder CI- en PR-triggerpadfilters.

Triggers voor PR's

Triggers voor pull-aanvragen zorgen ervoor dat een pipeline wordt gestart wanneer u een pull-aanvraag opent of wanneer u wijzigingen pusht naar de bronvertakking van een pull-aanvraag. Gebruik het trefwoord pr om een PR-trigger te configureren. Als u bijvoorbeeld een pijplijn wilt uitvoeren wanneer een PR wordt aangemaakt voor de main-branch, geeft u de volgende trigger op.

pr:
- main

Als u PR-triggers niet expliciet instelt in uw pijplijn, zijn deze standaard ingeschakeld, tenzij de UI-instellingen de YAML-trigger overschrijven. Pull requests naar een willekeurige branch activeren een pijplijnrun. Gebruik de volgende syntaxis om pull-triggers in uw pijplijn uit te schakelen.

pr: none

YAML PR-triggers worden ondersteund voor GitHub en Bitbucket Cloud. Zie PR-triggers in GitHub en PR-triggers in Bitbucket Cloud voor meer informatie over het gebruik van PR-triggers met dit soort repositories. Zie PR-definitie voor informatie over de volledige YAML PR-triggersyntaxis.

Azure-opslagplaatsen Git gebruikt branchbeleid om PR-triggers te implementeren. Zie PR-triggers in Azure-opslagplaatsen Git voor meer informatie.

Triggers voor opmerkingen

Reactietriggers zorgen ervoor dat een pijplijn wordt uitgevoerd wanneer bijdragers een reactie op een pull request plaatsen die een pullrequestopdracht bevat, zoals /azp run. Opmerkingentriggers worden alleen ondersteund voor GitHub opslagplaatsen. Zie GitHub opmerkingentriggers voor opslagplaatsen voor meer informatie.

Geplande triggers

Geplande triggers voeren een pijplijn uit volgens een vooraf gedefinieerd schema. Alle typen opslagplaatsen die YAML-pijplijnen ondersteunen ondersteunen geplande triggers in YAML-pijplijnen. Deze opslagplaatstypen omvatten Azure-opslagplaatsen Git, GitHub, GitHub Enterprise Server en Bitbucket Cloud.

Als u een geplande trigger in YAML wilt definiëren, gebruikt u het schedules trefwoord en definieert u uw planning met behulp van cron-syntaxis. In het volgende voorbeeld wordt een schema geconfigureerd dat elke dag om middernacht wordt uitgevoerd.

# YAML file in the main branch
schedules:
- cron: '0 0 * * *'
  displayName: Daily midnight build
  branches:
    include:
    - main

Zie Geplande triggers, de definitie van schema's en de definitie van schedules.cron voor meer informatie en voorbeelden.

Voltooiingstriggers voor pijplijn

Met pijplijntriggers in YAML-pijplijnen en triggers voor voltooiing van bouwtaken in klassieke bouwpijplijnen kunt u één pijplijn activeren na voltooiing van een andere.

Stel een pijplijnresourcetrigger in uw pijplijn in om een pijplijnuitvoering te starten wanneer de bronpijplijn een uitvoering heeft voltooid.

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

U kunt meerdere pijplijnbronnen toevoegen aan uw pijplijn. U kunt de trigger zo configureren dat deze wordt uitgevoerd wanneer een versie van de bronpijplijn is voltooid of deze beperkt tot bepaalde vertakkingen.

Zie Triggers voor pijplijnvoltooiing voor meer informatie en voorbeelden.

Zie de definitie resources.pipelines.pipelines.pipeline voor de volledige syntaxis en triggeropties.

Vertakkingsoverwegingen voor triggers in YAML-pijplijnen

YAML-pijplijnen kunnen verschillende versies van de pijplijn in verschillende vertakkingen hebben, wat van invloed kan zijn op welke versie van de triggers van de pijplijn wordt geëvalueerd en welke versie van de pijplijn moet worden uitgevoerd.

Triggertype YAML-versie van pijplijn
CI-triggers (trigger) De versie van de pijplijn in de gepushte branch wordt gebruikt.
PR-triggers (pr) De versie van de pijplijn in de bronbranch voor de pull-aanvraag wordt gebruikt.
Opmerkingentriggers voor GitHub-pull-aanvragen De versie van de pijplijn in de bronbranch voor de pull-aanvraag wordt gebruikt.
Geplande triggers Zie Vertakkingsoverwegingen voor geplande triggers.
Voltooiingstriggers voor pijplijn Zie Vertakkingsoverwegingen voor triggers voor het voltooien van pijplijnen.

Klassieke release-pijplijnen

Met continue implementatietriggers kunt u klassieke releases starten nadat een klassieke build- of YAML-pijplijn is voltooid.

Met geplande releasetriggers kunt u een release-pijplijn volgens een schema uitvoeren.

Releasetriggers voor pull-aanvragen worden gebruikt om een pull-aanvraag rechtstreeks te implementeren met behulp van klassieke releases.

Fasetriggers in de klassieke release worden gebruikt om te configureren hoe elke fase in een klassieke release wordt geactiveerd.