resources.pipelines.pipeline definition

Ha rendelkezik olyan Azure Pipeline-tal, amely összetevőket állít elő, a folyamat felhasználhatja az összetevőket egy folyamaterőforrás definiálásával. A 2020-Azure DevOps Server és újabb verziókban is engedélyezheti a folyamatvégzítési eseményindítókat egy folyamaterőforrás használatával.

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.

A definícióra hivatkozó definíciók: resources.pipelines

Tulajdonságok

pipeline Karakterlánc. Első tulajdonságként kötelező megadni.
A folyamaterőforrás azonosítója. Elfogadható értékek: [-_A-Za-z0-9]*.

project Karakterlánc.
Projekt a forráshoz; alapértelmezés szerint az aktuális projektre.

source Karakterlánc.
Az összetevőt előállító folyamat neve. Ha a folyamat egy mappában található, adja meg a mappa nevét, beleértve például a kezdőt \\security pipelines\security-lib-ciis. Ez a tulajdonság nem megkülönbözteti a kis- és nagybetűket, és nem igényel idézőjeleket, ha a név szóközöket tartalmaz. A mappa elérési útját meg kell adni, ha több, azonos nevű folyamat van.

version Karakterlánc.
A folyamatfuttatási szám, amely kiválasztja az összetevőt, alapértelmezés szerint a legújabb folyamat sikeres lesz az összes fázisban; csak manuális vagy ütemezett eseményindítókhoz használható.

branch Karakterlánc.
Ág az összetevő kiválasztásához. Választható; alapértelmezés szerint az összes ágra vonatkozik, csak manuális vagy ütemezett eseményindítókhoz használható.

tags sztringlista.
Az alapértelmezett összetevők felvételéhez szükséges címkék listája a folyamatban. Választható; csak manuális vagy ütemezett eseményindítókhoz használható.

triggerresources.pipelines.pipeline.trigger.
A letiltandó egyiket sem adja meg, igaz értékre az összes ág belefoglalásához, vagy használja a teljes szintaxist az alábbi példákban leírtak szerint.

Megjegyzések

Megjegyzés

pipeline: megadja a folyamaterőforrás nevét. Használja az itt definiált címkét, amikor a folyamat más részeiről hivatkozik a folyamat erőforrására, például folyamaterőforrás-változók használatakor vagy összetevők letöltésekor.

A folyamaterőforrás-eseményindítóval kapcsolatos stages további tags információkért lásd: folyamatkiegészítési triggerek.

A folyamaterőforrás-eseményindítókkal kapcsolatos további információkért lásd: folyamatkiegészítési triggerek.

Folyamaterőforrás-eseményindító szintaxisa

Megjegyzés

A folyamatkiegészítési eseményindítók az Alapértelmezett ágat használják a manuális és ütemezett buildek beállításához annak meghatározásához, hogy a YAML-folyamat ágszűrői melyik ágának verzióját kell kiértékelni annak meghatározásakor, hogy egy folyamatot egy másik folyamat befejezése eredményeként kell-e futtatni. Ez a beállítás alapértelmezés szerint az adattár alapértelmezett ágára mutat. További információ: Folyamatkiegészítési eseményindítók – ági szempontok.

A folyamaterőforrás eseményindítóit többféleképpen is definiálhatja. Futtatás indításához, amikor a hivatkozott folyamat bármelyik futtatása befejeződött, használja a következőt trigger: true: .

resources:
  pipelines:
  - pipeline: source-pipeline
    source: TriggeringPipeline
    trigger: true

A folyamat erőforrás-eseményindítójának letiltásához adjon meg egy értéket.none

resources:
  pipelines:
  - pipeline: source-pipeline
    source: TriggeringPipeline
    trigger: none

Az ágszűrők konfigurálásához használja a teljes szintaxist. Az ágszűrők megadhatóak a belefoglalandó ágak listájaként vagy a kizárandó ágak listájáként.

A belefoglalni és kizárni kívánt ágak listájának megadásához használja az alábbi trigger szintaxist.

resources:
  pipelines:
  - pipeline: source-pipeline
    source: TriggeringPipeline
    trigger:
      branches:
        include:
        - main
        - develop
        - features/*
        exclude:
        - features/experimental/*

A belefoglalandó ágak listájának megadásához kihagyhatja az exclude értéket, vagy az alábbi szintaxissal megadhatja azokat az ágakat, amelyek közvetlenül a következőt branchestartalmazzák: .

resources:
  pipelines:
  - pipeline: source-pipeline
    source: TriggeringPipeline
    trigger:
      branches:
      - main
      - develop

Szakaszok vagy címkék szerinti szűréshez használja az alábbi trigger szintaxist.

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

Fontos

Erőforrás-eseményindító definiálásakor, ha a folyamat erőforrása az aktuális folyamat adattárából származik, az eseményindító ugyanazt az ágat követi, és véglegesíti az eseményt. Ha azonban a folyamat erőforrása egy másik adattárból származik, az aktuális folyamat a manuális és ütemezett buildek alapértelmezett ága által megadott ágon aktiválódik. További információ: A folyamatkiegészítési eseményindítók elágaztatási szempontjai.

Folyamaterőforrás-metaadatok előre definiált változókként

Minden futtatás során a folyamaterőforrás metaadatai az alábbi előre definiált változókként érhetők el az összes feladat számára. Ezek a változók futásidőben érhetők el a folyamat számára, ezért nem használhatók sablonkifejezésekben, amelyeket a folyamatfordítási időpontban értékelnek ki.

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

Fontos

projectName nem szerepel a változókban, ha a folyamaterőforrás nem rendelkezik project megadott értékkel. A project tulajdonság nem kötelező olyan folyamaterőforrások esetében, amelyek ugyanabban a projektben hivatkoznak egy folyamatra, de igény szerint megadható.

Cserélje le a elemet <Alias> a folyamaterőforrás azonosítójára. A következő folyamaterőforráshoz a következő változó érhető el runID : resources.pipeline.source-pipeline.runID.

resources:
  pipelines:
  - pipeline: source-pipeline
    source: TriggeringPipeline

Ha egy folyamatot az egyik folyamaterőforrás aktivál, a rendszer az előző listában szereplő változók mellett az alábbi változókat is beállítja.

Változó Érték
Build.Reason ResourceTrigger
Resources.TriggeringAlias A folyamaterőforrás neve, például source-pipeline az előző példában.
Resource.TriggeringCategory pipeline

Az alábbi példában két folyamaterőforrás található.

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

Ha ez a folyamat fut, az első bash tevékenység a projectName nevű source-pipelinefolyamaterőforrást adja ki, azaz .FabrikamFiber

A második bash tevékenység a tevékenységhez elérhető összes környezeti változót kimeneteli, beleértve az ebben a szakaszban ismertetett folyamaterőforrás-változókat is. A környezeti változók listázása általában nem egy éles folyamatban történik, de a hibaelhárításhoz hasznos lehet. Ebben a példában két folyamaterőforrás található, a kimenet pedig a következő két sort tartalmazza.

RESOURCES_PIPELINE_OTHER-PROJECT-PIPELINE_PROJECTNAME=FabrikamRepo
RESOURCES_PIPELINE_SOURCE-PIPELINE_PROJECTNAME=FabrikamFiber

Megjegyzés

A rendszer- és felhasználó által definiált változók környezeti változókként lesznek injektálva a platformhoz. Amikor a változók környezeti változókká alakulnak, a változók neve nagybetűssé válik, a pontok pedig aláhúzássá alakulnak. A változó neve any.variable például a következő lesz ANY_VARIABLE: .

A változók és a változószintaxis használatáról további információt a Változószintaxis,a Feltételek megadása és a Kifejezések ismertetése című témakörben talál.

A folyamaterőforrásból származó összetevőket tevékenységgel download is felhasználhatja. Tekintse meg a steps.download kulcsszót.

Példák

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

Lásd még