definice resources.pipelines.pipeline
Pokud máte Azure Pipeline, který vytváří artefakty, může váš kanál využívat artefakty definováním prostředku kanálu. V Azure DevOps Server 2020 a novějších můžete také povolit triggery dokončení kanálu pomocí prostředku kanálu.
pipelines:
- pipeline: string # Required as first property. ID of the pipeline resource.
project: string # Project for the source; defaults to current project.
source: string # Name of the pipeline that produces the artifact.
version: string # The pipeline run number to pick the artifact, defaults to latest pipeline successful across all stages; used only for manual or scheduled triggers.
branch: string # Branch to pick the artifact. Optional; defaults to all branches, used only for manual or scheduled triggers.
tags: [ string ] # List of tags required on the pipeline to pickup default artifacts. Optional; used only for manual or scheduled triggers.
trigger: # Specify none to disable, true to include all branches, or use the full syntax as described in the following examples.
enabled: boolean # Whether the trigger is enabled; defaults to true.
branches: branches # Branches to include or exclude for triggering a run.
stages: [ string ] # List of stages that when matched will trigger the pipeline.
tags: [ string ] # List of tags that when matched will trigger the pipeline.
pipelines:
- pipeline: string # Required as first property. ID of the pipeline resource.
project: string # Project for the source; defaults to current project.
source: string # Name of the pipeline that produces the artifact.
version: string # The pipeline run number to pick the artifact, defaults to latest pipeline successful across all stages; used only for manual or scheduled triggers.
branch: string # Branch to pick the artifact. Optional; defaults to all branches, used only for manual or scheduled triggers.
tags: [ string ] # List of tags required on the pipeline to pickup default artifacts. Optional; used only for manual or scheduled triggers.
trigger: # Specify none to disable, true to include all branches, or use the full syntax as described in the following examples.
enabled: boolean # Whether the trigger is enabled; defaults to true.
branches: branches # Branches to include or exclude for triggering a run.
pipelines:
- pipeline: string # Required as first property. ID of the pipeline resource.
project: string # Project for the source; defaults to current project.
source: string # Name of the pipeline that produces the artifact.
version: string # The pipeline run number to pick the artifact, defaults to latest pipeline successful across all stages; used only for manual or scheduled triggers.
branch: string # Branch to pick the artifact. Optional; defaults to all branches, used only for manual or scheduled triggers.
Definice, které odkazují na tuto definici: resources.pipelines
Vlastnosti
pipeline
Řetězec. Povinný argument jako první vlastnost.
ID prostředku kanálu Přijatelné hodnoty: [-_A-Za-z0-9]*.
project
Řetězec.
Projekt pro zdroj; výchozí hodnota aktuálního projektu.
source
Řetězec.
Název kanálu, který vytváří artefakt. Pokud je kanál obsažen ve složce, zahrňte název složky, včetně počáteční \
, například \security pipelines\security-lib-ci
. V této vlastnosti se nerozlišují velká a velká písmena, a pokud název obsahuje mezery, nevyžaduje uvozovky. Pokud existuje více kanálů se stejným názvem, musí být zadána cesta ke složce.
version
Řetězec.
Číslo spuštění kanálu pro výběr artefaktu, výchozí hodnota je nejnovější kanál úspěšný ve všech fázích. používá se pouze pro ruční nebo naplánované aktivační události.
branch
Řetězec.
Větev pro výběr artefaktu Volitelné; výchozí hodnoty pro všechny větve, které se používají pouze pro ruční nebo naplánované triggery.
tags
seznam řetězců.
Seznam značek požadovaných v kanálu k vyzvednutí výchozích artefaktů Volitelné; používá se pouze pro ruční nebo naplánované aktivační události.
trigger
resources.pipelines.pipelines.trigger.
Zadejte hodnotu none, která se má zakázat, true, pokud chcete zahrnout všechny větve, nebo použijte úplnou syntaxi, jak je popsáno v následujících příkladech.
Poznámky
Poznámka
pipeline:
určuje název prostředku kanálu. Popisek definovaný tady použijte při odkazování na prostředek kanálu z jiných částí kanálu, například při použití proměnných prostředků kanálu nebo stahování artefaktů.
Další informace o stages
triggeru prostředku kanálu a tags
v tomto tématu najdete v tématu Triggery dokončení kanálu.
Další informace o aktivačních událostech prostředků kanálu najdete v tématu Triggery dokončení kanálu.
Syntaxe triggeru prostředku kanálu
Poznámka
Triggery dokončení kanálu používají nastavení Výchozí větev pro ruční a plánovaná sestavení k určení, která verze větve kanálu YAML filtruje při určování, jestli se má kanál spustit v důsledku dokončení jiného kanálu. Ve výchozím nastavení toto nastavení odkazuje na výchozí větev úložiště. Další informace najdete v tématu Triggery dokončení kanálu – důležité informace o větvích.
Aktivační události v prostředku kanálu můžete definovat několika způsoby. K aktivaci spuštění po dokončení libovolného spuštění odkazovaného kanálu použijte trigger: true
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger: true
Pokud chcete aktivační událost prostředku kanálu zakázat, zadejte hodnotu none
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger: none
Pokud chcete konfigurovat filtry větví, použijte úplnou syntaxi. Filtry větví lze zadat jako seznam větví, které se mají zahrnout, nebo jako seznam větví, které se mají zahrnout v kombinaci se seznamem větví, které chcete vyloučit.
Pokud chcete určit seznam větví, které chcete zahrnout a vyloučit, použijte následující trigger
syntaxi.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches:
include:
- main
- develop
- features/*
exclude:
- features/experimental/*
Chcete-li zadat seznam větví, které se mají zahrnout, bez vyloučení, vyněžte exclude
hodnotu nebo pomocí následující syntaxe určete seznam větví, které mají být zahrnuty přímo za branches
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches:
- main
- develop
Pokud chcete filtrovat podle fází nebo značek, použijte následující trigger
syntaxi.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches: # Branches to include
tags: # List of tags that when matched will trigger the pipeline.
- release25
stages: # List of stages that when complete will trigger the pipeline.
- build
Další informace najdete v tématu Triggery dokončení kanálu.
Důležité
Když definujete aktivační událost prostředku a jeho prostředek kanálu je ze stejného úložiště jako aktuální kanál, aktivace se řídí stejnou větví a potvrzením, na kterém je událost vyvolána. Pokud je ale prostředek kanálu z jiného úložiště, aktuální kanál se aktivuje ve větvi určené nastavením Výchozí větev pro ruční a plánovaná sestavení . Další informace najdete v tématu Důležité informace o větvích pro triggery dokončení kanálu.
Metadata prostředků kanálu jako předdefinované proměnné
V každém spuštění jsou metadata pro prostředek kanálu k dispozici pro všechny úlohy jako následující předdefinované proměnné. Tyto proměnné jsou pro váš kanál k dispozici za běhu, a proto je nelze použít ve výrazech šablon, které se vyhodnocují při kompilaci kanálu.
resources.pipeline.<Alias>.projectName
resources.pipeline.<Alias>.projectID
resources.pipeline.<Alias>.pipelineName
resources.pipeline.<Alias>.pipelineID
resources.pipeline.<Alias>.runName
resources.pipeline.<Alias>.runID
resources.pipeline.<Alias>.runURI
resources.pipeline.<Alias>.sourceBranch
resources.pipeline.<Alias>.sourceCommit
resources.pipeline.<Alias>.sourceProvider
resources.pipeline.<Alias>.requestedFor
resources.pipeline.<Alias>.requestedForID
Důležité
projectName
není v proměnných k dispozici, pokud prostředek kanálu nemá zadanou project
hodnotu. Vlastnost project
je volitelná pro prostředky kanálu, které odkazují na kanál ve stejném projektu, ale v případě potřeby může být zadána.
Nahraďte <Alias>
ID prostředku kanálu. Pro následující prostředek kanálu je resources.pipeline.source-pipeline.runID
proměnná pro přístup runID
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
Když je kanál aktivován jedním z jeho prostředků kanálu, jsou kromě proměnných v předchozím seznamu nastaveny následující proměnné.
Proměnná | Hodnota |
---|---|
Build.Reason |
ResourceTrigger |
Resources.TriggeringAlias |
Název prostředku kanálu, například source-pipeline z předchozího příkladu. |
Resource.TriggeringCategory |
pipeline |
Následující příklad obsahuje dva prostředky kanálu.
resources:
pipelines:
- pipeline: source-pipeline
source: PipelineTriggerSource
project: FabrikamFiber
trigger: true
- pipeline: other-project-pipeline
source: PipelineTriggerFromOtherProject
project: FabrikamRepo
trigger: true
trigger: none # Only trigger with pipeline resource trigger
pool:
vmImage: ubuntu-latest
- bash: echo $(resources.pipeline.source-pipeline.projectName)
- bash: printenv | sort
Pokud je tento kanál spuštěný, první bash
úloha vypíše projectName
výstup prostředku kanálu s názvem source-pipeline
, což je FabrikamFiber
.
Druhý bash
úkol vypíše všechny proměnné prostředí dostupné pro úkol, včetně proměnných prostředků kanálu popsaných v této části. Výpis proměnných prostředí se obvykle neprodává v produkčním kanálu, ale může být užitečný při řešení potíží. V tomto příkladu jsou dva prostředky kanálu a výstup obsahuje následující dva řádky.
RESOURCES_PIPELINE_OTHER-PROJECT-PIPELINE_PROJECTNAME=FabrikamRepo
RESOURCES_PIPELINE_SOURCE-PIPELINE_PROJECTNAME=FabrikamFiber
Poznámka
Systémové a uživatelem definované proměnné se vloží jako proměnné prostředí pro vaši platformu. Při převodu proměnných na proměnné prostředí se názvy proměnných změní na velká písmena a tečky se změní na podtržítka. Název proměnné any.variable
se například změní na ANY_VARIABLE
.
Další informace o používání proměnných a syntaxe proměnných najdete v tématech Vysvětlení syntaxe proměnných, Zadání podmínek a Výrazů.
Artefakty ze zdroje kanálu můžete využívat pomocí download
úlohy. Podívejte se na klíčové slovo steps.download .
Příklady
resources:
pipelines:
- pipeline: MyAppA
source: MyCIPipelineA
- pipeline: MyAppB
source: MyCIPipelineB
trigger: true
- pipeline: MyAppC
project: DevOpsProject
source: MyCIPipelineC
branch: releases/M159
version: 20190718.2
trigger:
branches:
include:
- main
- releases/*
exclude:
- users/*