definitie van resources.pipelines.pipeline
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 pijplijnvoltooiing 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.
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.
Definities die naar deze definitie verwijzen: 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 voorloopnaam \
, 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 die in alle fasen is geslaagd; wordt alleen gebruikt voor handmatige of geplande triggers.
branch
Tekenreeks.
Vertakking om het artefact te kiezen. Optionele; is standaard ingesteld op alle vertakkingen, die alleen worden gebruikt voor handmatige of geplande triggers.
tags
tekenreekslijst.
Lijst met tags die in de pijplijn zijn vereist om standaardartefacten op te halen. Optionele; wordt 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:
hiermee geeft u de naam van de pijplijnresource op. Gebruik het label dat hier is gedefinieerd wanneer u verwijst naar de pijplijnresource vanuit andere onderdelen van de pijplijn, zoals bij het gebruik van pijplijnresourcevariabelen of het downloaden van artefacten.
Zie triggers voor pijplijnvoltooiing voor meer informatie over stages
en tags
in de pijplijnresourcetrigger.
Triggersyntaxis voor pijplijnresources
Notitie
Triggers voor pijplijnvoltooiing gebruiken de instelling Standaardvertakking voor handmatige en geplande builds om te bepalen welke vertakkingsversie van de vertakkingsfilters van een YAML-pijplijn moeten 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 pijplijnvoltooiing - vertakkingsoverwegingen voor meer informatie.
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 trigger: true
u .
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger: true
Als u de trigger voor de pijplijnresource wilt uitschakelen, geeft u een waarde op van none
.
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 uit te sluiten vertakkingen.
Gebruik de volgende trigger
syntaxis om een lijst met vertakkingen op te geven die moeten worden opgenomen en uitgesloten.
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 uit te sluiten, laat u de exclude
waarde weg of gebruikt u de volgende syntaxis om de lijst met vertakkingen op te geven die direct na moeten worden branches
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 Triggers voor pijplijnvoltooiing voor meer informatie.
Belangrijk
Wanneer u een resourcetrigger definieert en de bijbehorende pijplijnresource afkomstig is van dezelfde opslagplaats als de huidige pijplijn, volgt de trigger dezelfde vertakking en doorvoering 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 instelling Standaardvertakking voor handmatige en geplande builds . Zie Vertakkingsoverwegingen voor pijplijn voltooiingstriggers voor 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 worden geëvalueerd tijdens het compileren van de pijplijn.
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
is niet aanwezig in de variabelen als voor de pijplijnresource geen project
waarde is opgegeven. De project
eigenschap is optioneel voor pijplijnresources die verwijzen naar een pijplijn in hetzelfde project, maar kan desgewenst worden opgegeven.
Vervang door <Alias>
de id van de pijplijnresource. Voor de volgende pijplijnresource is resources.pipeline.source-pipeline.runID
de variabele voor toegangrunID
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
Wanneer een pijplijn wordt geactiveerd door een van de pijplijnresources, worden naast de variabelen in de vorige lijst de volgende variabelen ingesteld.
Variabele | Waarde |
---|---|
Build.Reason |
ResourceTrigger |
Resources.TriggeringAlias |
De naam van de pijplijnresource, zoals source-pipeline in het vorige voorbeeld. |
Resource.TriggeringCategory |
pipeline |
Het volgende voorbeeld heeft twee pijplijnresources.
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 is FabrikamFiber
.
De tweede bash
taak voert alle omgevingsvariabelen uit die beschikbaar zijn voor de taak, met inbegrip van de pijplijnresourcevariabelen die in deze sectie worden beschreven. Het vermelden van omgevingsvariabelen wordt doorgaans niet uitgevoerd in een productiepijplijn, maar het kan handig zijn voor het oplossen van problemen. In dit voorbeeld zijn er twee pijplijnresources en de uitvoer bevat 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 toegevoegd als omgevingsvariabelen voor uw platform. Wanneer variabelen worden omgezet in omgevingsvariabelen, worden namen van variabelen hoofdletters en worden punten omgezet in onderstrepingstekens. De naam any.variable
van de variabele wordt ANY_VARIABLE
bijvoorbeeld .
Zie Inzicht in de syntaxis van variabelen, Voorwaarden opgeven en Expressies voor meer informatie over het gebruik van variabelen en de syntaxisvan variabelen.
U kunt artefacten uit 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/*