resources.pipelines.pipeline definition
Als u een Azure-pijplijn hebt die artefacten produceert, kan uw pijplijn de artefacten gebruiken door een pijplijnresource te definiëren. In Azure DevOps Server 2020 en hoger kunt u ook triggers voor het voltooien van pijplijnen inschakelen met behulp van een pijplijnresource.
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.
Definities die verwijzen naar deze definitie: resources.pipelines
Eigenschappen
pipeline
tekenreeks. Vereist als eerste eigenschap.
-id van de pijplijnresource. Acceptabele waarden: [-_A-Za-z0-9]*.
project
tekenreeks.
Project voor de bron; is standaard ingesteld op het huidige project.
source
tekenreeks.
naam van de pijplijn die het artefact produceert. Als de pijplijn zich in een map bevindt, neemt u de mapnaam op, inclusief de voorloop-\
, bijvoorbeeld \security pipelines\security-lib-ci
. Deze eigenschap is niet hoofdlettergevoelig en heeft geen aanhalingstekens nodig als de naam spaties bevat. Het mappad moet worden opgegeven als er meerdere pijplijnen met dezelfde naam zijn.
version
tekenreeks.
Het nummer van de pijplijnuitvoering om het artefact te kiezen, wordt standaard ingesteld op de meest recente pijplijn in alle fasen; alleen gebruikt voor handmatige of geplande triggers.
branch
tekenreeks.
Branch om het artefact te kiezen. Facultatief; standaard ingesteld op alle vertakkingen, alleen gebruikt voor handmatige of geplande triggers.
tags
lijst met tekenreeksen.
lijst met tags die vereist zijn voor de pijplijn om standaardartefacten op te halen. Facultatief; alleen gebruikt voor handmatige of geplande triggers.
trigger
resources.pipelines.pipeline.trigger.
Geef geen op om uit te schakelen, waar om alle vertakkingen op te nemen of gebruik de volledige syntaxis, zoals beschreven in de volgende voorbeelden.
Opmerkingen
Notitie
pipeline:
geeft de naam van de pijplijnresource op. Gebruik het label dat hier is gedefinieerd wanneer u verwijst naar de pijplijnresource uit andere onderdelen van de pijplijn, zoals bij het gebruik van pijplijnresourcevariabelen of het downloaden van artefacten.
Zie triggers voor pijplijnvoltooiingvoor meer informatie over stages
en tags
in de pijplijnresourcetrigger.
Zie triggers voor pijplijnvoltooiingvoor meer informatie over pijplijnresourcetriggers.
Syntaxis van pijplijnresourcetrigger
Notitie
Triggers voor het voltooien van pijplijnen gebruiken de instelling Standaardvertakking voor handmatige en geplande builds om te bepalen welke versie van de vertakkingsfilters van een YAML-pijplijn moet worden geëvalueerd bij het bepalen of een pijplijn moet worden uitgevoerd als gevolg van het voltooien van een andere pijplijn. Deze instelling verwijst standaard naar de standaardbranch van de opslagplaats. Zie Triggers voor het voltooien van pijplijnen voor meer informatie: overwegingen voor vertakkingen.
Er zijn verschillende manieren om triggers in een pijplijnresource te definiëren. Als u een uitvoering wilt activeren wanneer een uitvoering van de pijplijn waarnaar wordt verwezen, gebruikt u trigger: true
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger: true
Als u de pijplijnresourcetrigger wilt uitschakelen, geeft u een waarde van none
op.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger: none
Gebruik de volledige syntaxis om vertakkingsfilters te configureren. Vertakkingsfilters kunnen worden opgegeven als een lijst met vertakkingen die moeten worden opgenomen, of als een lijst met vertakkingen die moeten worden opgenomen in combinatie met een lijst met vertakkingen die moeten worden uitgesloten.
Als u een lijst wilt opgeven met vertakkingen die moeten worden opgenomen en uitgesloten, gebruikt u de volgende trigger
syntaxis.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches:
include:
- main
- develop
- features/*
exclude:
- features/experimental/*
Als u een lijst met vertakkingen wilt opgeven die moeten worden opgenomen, zonder uitsluitingen, laat u de exclude
waarde weg of gebruikt u de volgende syntaxis om de lijst met vertakkingen op te geven die direct na branches
moeten worden opgenomen.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches:
- main
- develop
Als u wilt filteren op fasen of tags, gebruikt u de volgende trigger
syntaxis.
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
Zie Pijplijn-voltooiingstriggersvoor meer informatie.
Belangrijk
Wanneer u een resourcetrigger definieert en de pijplijnresource afkomstig is van dezelfde opslagplaats als de huidige pijplijn, volgt het activeren dezelfde vertakking en voert u door waarop de gebeurtenis wordt gegenereerd. Maar als de pijplijnresource afkomstig is van een andere opslagplaats, wordt de huidige pijplijn geactiveerd op de vertakking die is opgegeven door de Standaardvertakking voor handmatige en geplande builds instelling. Zie Vertakkingsoverwegingen voor triggers voor pijplijnvoltooiingvoor meer informatie.
Metagegevens van pijplijnresources als vooraf gedefinieerde variabelen
In elke uitvoering zijn de metagegevens voor een pijplijnresource beschikbaar voor alle taken als de volgende vooraf gedefinieerde variabelen. Deze variabelen zijn tijdens runtime beschikbaar voor uw pijplijn en kunnen daarom niet worden gebruikt in sjabloonexpressies, die tijdens het compileren van pijplijnen worden geëvalueerd.
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
Belangrijk
projectName
niet aanwezig is in de variabelen als de pijplijnresource geen project
waarde heeft opgegeven. De eigenschap project
is optioneel voor pijplijnbronnen die verwijzen naar een pijplijn in hetzelfde project, maar kunnen desgewenst worden opgegeven.
Vervang <Alias>
door de id van de pijplijnresource. Voor de volgende pijplijnresource wordt de variabele voor toegang tot runID
resources.pipeline.source-pipeline.runID
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
Wanneer een pijplijn wordt geactiveerd door een van de pijplijnbronnen, worden de volgende variabelen ingesteld naast de variabelen in de vorige lijst.
Veranderlijk | Waarde |
---|---|
Build.Reason |
ResourceTrigger |
Resources.TriggeringAlias |
De naam van de pijplijnresource, zoals source-pipeline uit het vorige voorbeeld. |
Resources.TriggeringCategory |
pipeline |
Het volgende voorbeeld bevat twee pijplijnbronnen.
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
Wanneer deze pijplijn wordt uitgevoerd, voert de eerste bash
taak de projectName
uit van de pijplijnresource met de naam source-pipeline
, die FabrikamFiber
is.
De tweede bash
taak voert alle omgevingsvariabelen uit die beschikbaar zijn voor de taak, inclusief de variabelen voor pijplijnresources die in deze sectie worden beschreven. Het vermelden van omgevingsvariabelen wordt doorgaans niet uitgevoerd in een productiepijplijn, maar kan handig zijn voor het oplossen van problemen. In dit voorbeeld zijn er twee pijplijnbronnen en bevat de uitvoer de volgende twee regels.
RESOURCES_PIPELINE_OTHER-PROJECT-PIPELINE_PROJECTNAME=FabrikamRepo
RESOURCES_PIPELINE_SOURCE-PIPELINE_PROJECTNAME=FabrikamFiber
Notitie
Systeem- en door de gebruiker gedefinieerde variabelen worden opgenomen als omgevingsvariabelen voor uw platform. Wanneer variabelen worden omgezet in omgevingsvariabelen, worden de namen van variabelen naar hoofdletters omgezet en worden punten omgezet in onderstrepingstekens. De naam van de variabele any.variable
wordt bijvoorbeeld ANY_VARIABLE
.
Zie De syntaxis van variabelen begrijpen, Voorwaarden opgevenen expressiesvoor meer informatie over het gebruik van variabelen en de syntaxis van variabelen.
U kunt artefacten van een pijplijnresource gebruiken met behulp van een download
taak. Zie het trefwoord steps.download.
Voorbeelden
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/*