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.

triggerresources.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: trueu .

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 branchesopgenomen.

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.runIDde 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_VARIABLEbijvoorbeeld .

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/*

Zie ook