Ange händelser som utlöser pipelines

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

En pipelineutlösare talar om för en pipeline när den ska köras. Du kan konfigurera en utlösare för att köra en pipeline baserat på ett schema eller som svar på en händelse, till exempel skapandet av en pull-begäran. Azure-pipelines stöder följande typer av utlösare:

  • Utlösare för kontinuerlig integrering (CI-utlösare) kör en pipeline när du skickar kod till en gren.
  • Utlösare för pull requests (PR-utlösare) kör en pipeline när du öppnar en PR eller pushar kod till källgrenen för en öppen PR. GitHub lagringsplatser stöder kommentarsutlösare som kör en pipeline när du lägger till kommentarer i en öppen pull-begäran.
  • Schemalagda utlösare kör en pipeline enligt ett fördefinierat schema.
  • Pipeline-slutförandeutlösare kör en pipeline när en annan pipeline slutförs.

Den här artikeln ger en översikt över utlösare för YAML-pipelines och utlösare för klassiska byggpipelines. Klassiska versionspipelines har liknande versioner av utlösarna som beskrivs i föregående lista. Mer information finns i Utlösare för klassisk versionspipeline.

CI-utlösare

CI-utlösare kör en pipeline när en push görs till en gren som uppfyller de kriterier som definieras av utlösaren. Använd nyckelordet trigger för att konfigurera en CI-utlösare. Om du till exempel vill köra en pipeline när en push görs till grenen main anger du följande utlösare.

trigger:
- main

Om du inte uttryckligen konfigurerar din pipeline har alla grenar CI-utlösare aktiverade som standard, såvida inte Inaktivera underförstådd CI-utlösare har angetts eller UI-inställningar åsidosätter YAML-utlösare.

Om du inte uttryckligen konfigurerar din pipeline har alla grenar CI-utlösare aktiverade som standard, såvida inte Inaktivera underförstådd CI-utlösare har angetts eller UI-inställningar åsidosätter YAML-utlösare.

Kommentar

Inaktivera underförstådd CI-utlösare är endast tillgänglig i Azure DevOps Server 2022.2 och högre. I Azure DevOps Server 2022 och 2022.1 aktiveras CI-utlösare som standard om de inte är uttryckligen konfigurerade.

Om du vill inaktivera CI-utlösare i pipelinen använder du följande syntax.

trigger: none

YAML-pipelines stöder CI-utlösare för följande lagringsplatstyper. Specifik information om hur du använder CI-utlösare med en specifik lagringsplatstyp finns i följande artiklar.

Information om den fullständiga YAML-utlösarsyntaxen och alternativen som är tillgängliga för CI-utlösare finns i utlösardefinition.

Important

Sökvägar i Git är skiftlägeskänsliga, även sökvägsfilter för CI- och PR-utlösare.

PR-utlösare

Utlösare för pull request (PR) gör att en pipeline körs när du öppnar en pull request eller när du pushar ändringar till källgrenen för en pull request. Använd nyckelordet pr för att konfigurera en PR-utlösare. Om du till exempel vill köra en pipeline när en PR höjs till grenen main anger du följande utlösare.

pr:
- main

Om du inte uttryckligen konfigurerar PR-utlösare i pipelinen aktiveras de som standard, såvida inte UI-inställningarna åsidosätter YAML-utlösaren. Pullförfrågningar till valfri gren utlöser en pipelinekörning. Om du vill inaktivera PR-utlösare i pipelinen använder du följande syntax.

pr: none

YAML PR-utlösare stöds för GitHub och Bitbucket Cloud. Mer information om hur du använder PR-utlösare med dessa typer av lagringsplatser finns i PR-utlösare i GitHub och PR-utlösare i Bitbucket Cloud. Information om den fullständiga YAML PR-utlösarsyntaxen finns i pr-definition.

Azure-lagringsplatser Git använder grenprinciper för att implementera PR-utlösare. Mer information finns i PR-utlösare i Azure-lagringsplatser Git.

Kommentarutlösare

Kommentarutlösare konfigurerar en pipeline att köras när bidragsgivare skriver en kommentar i en pull request som innehåller ett pull request-kommando som /azp run. Kommentarsutlösare stöds endast för GitHub lagringsplatser. Mer information finns i GitHub lagringsplatsens kommentarsutlösare.

Schemalagda utlösare

Schemalagda utlösare kör en pipeline enligt ett fördefinierat schema. Alla lagringsplatstyper som stöder YAML-pipelines stöder schemalagda utlösare i YAML-pipelines. Dessa lagringsplatstyper omfattar Azure-lagringsplatser Git, GitHub, GitHub Enterprise Server och Bitbucket Cloud.

Om du vill definiera en schemalagd utlösare i YAML använder du nyckelordet schedules och definierar ditt schema med hjälp av cron-syntax. I följande exempel konfigureras ett schema som körs varje dag vid midnatt.

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

Mer information och exempel finns i Schemalagda utlösare, scheman definition och schedules.cron definition.

Utlösare när en pipeline har slutförts

Pipelineutlösare i YAML-pipelines och utlösare för slutförande av bygge i klassiska byggpipelines gör det möjligt att utlösa en pipeline när en annan slutförs.

Konfigurera en pipelineresursutlösare i pipelinen för att starta en pipelinekörning när källpipelinen har slutfört en körning.

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

Du kan lägga till flera pipelineresurser i pipelinen. Du kan konfigurera utlösaren så att den körs när någon version av källpipelinen har slutförts eller begränsa den till vissa grenar.

Mer information och exempel finns i Pipeline-slutförandeutlösare.

Fullständiga syntax- och utlösaralternativ finns i resources.pipelines.pipeline definition.

Grenövervägande för utlösare i YAML-pipelines

YAML-pipelines kan ha olika versioner av pipelinen i olika grenar, vilket kan påverka vilken version av pipelinens utlösare som utvärderas och vilken version av pipelinen som ska köras.

Utlösartyp Pipeline-YAML-version
CI-utlösare (trigger) Versionen av pipelinen i grenen som pushades används.
PR-utlösare (pr) Versionen av pipelinen i källgrenen för pullbegäran används.
GitHub-utlösare för kommentarer till pull requests Versionen av pipelinen i källgrenen för pullbegäran används.
Schemalagda utlösare Se Grenöverväganden för schemalagda utlösare.
Utlösare för pipeline-slutförande Se Grenöverväganden för pipeline-slutförandeutlösare.

Klassiska lanseringspipelines

Utlösare för kontinuerlig distribution hjälper dig att starta klassiska releaser när ett klassiskt bygge eller en YAML-pipeline har slutförts.

Med schemalagda versionsutlösare kan du köra en versionspipeline enligt ett schema.

Utlösare för pull request-versioner används för att distribuera en pull request direkt med klassiska releaser.

Stegutlösare i klassisk release används för att konfigurera hur varje steg i en klassisk release utlöses.