resources.pipelines.pipeline tanımı

Yapıtlar üreten bir Azure İşlem Hattınız varsa işlem hattınız bir işlem hattı kaynağı tanımlayarak yapıtları kullanabilir. Azure DevOps Server 2020 ve üzeri sürümlerde işlem hattı tamamlama tetikleyicilerini bir işlem hattı kaynağı kullanarak da etkinleştirebilirsiniz.

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.

Bu tanıma başvuran tanımlar: resources.pipelines

Özellikler

pipeline Dize. İlk özellik olarak gereklidir.
İşlem hattı kaynağının kimliği. Kabul edilebilir değerler: [-_A-Za-z0-9]*.

project Dize.
Kaynak için proje; varsayılan olarak geçerli projeye ayarlanır.

source Dize.
Yapıtı oluşturan işlem hattının adı. İşlem hattı bir klasörde yer alıyorsa, baştaki \dahil olmak üzere klasör adını ekleyin, örneğin \security pipelines\security-lib-ci. Bu özellik büyük/küçük harfe duyarlı değildir ve ad boşluk içeriyorsa tırnak işareti gerekmez. Aynı ada sahip birden çok işlem hattı varsa klasör yolu belirtilmelidir.

version Dize.
Yapıtı seçmek için işlem hattı çalıştırma numarası, varsayılan olarak tüm aşamalarda başarılı olan en son işlem hattıdır; yalnızca el ile veya zamanlanmış tetikleyiciler için kullanılır.

branch Dize.
Yapıtı seçmek için dal. Isteğe bağlı; yalnızca el ile veya zamanlanmış tetikleyiciler için kullanılan tüm dalları varsayılan olarak kullanır.

tags dize listesi.
Varsayılan yapıtları almak için işlem hattında gerekli etiketlerin listesi. Isteğe bağlı; yalnızca el ile veya zamanlanmış tetikleyiciler için kullanılır.

triggerresources.pipelines.pipeline.trigger.
Devre dışı bırakılacak yok, tüm dalları eklemek için true belirtin veya aşağıdaki örneklerde açıklandığı gibi tam söz dizimini kullanın.

Açıklamalar

Not

pipeline: işlem hattı kaynağının adını belirtir. İşlem hattı kaynak değişkenlerini kullanma veya yapıtları indirme gibi işlem hattının diğer bölümlerinden işlem hattı kaynağına başvururken burada tanımlanan etiketi kullanın.

İşlem hattı kaynak tetikleyicisinde ve tags hakkında stages daha fazla bilgi için bkz. işlem hattı tamamlama tetikleyicileri.

İşlem hattı kaynak tetikleyicileri hakkında daha fazla bilgi için bkz. işlem hattı tamamlama tetikleyicileri.

İşlem hattı kaynak tetikleyici söz dizimi

Not

İşlem hattı tamamlama tetikleyicileri, bir işlem hattının başka bir işlem hattının tamamlanmasının sonucu olarak bir işlem hattının çalıştırılıp çalıştırılmayacağını belirlerken değerlendirilecek YAML işlem hattının dal filtrelerinin hangi dalı sürümünü belirlemek üzere el ile ve zamanlanmış derlemeler için Varsayılan dal ayarını kullanır. Varsayılan olarak bu ayar, deponun varsayılan dalını gösterir. Daha fazla bilgi için bkz . İşlem hattı tamamlama tetikleyicileri - dal konuları.

İşlem hattı kaynağında tetikleyicileri tanımlamanın çeşitli yolları vardır. Başvuruda bulunan işlem hattının herhangi bir çalıştırması tamamlandığında bir çalıştırma tetiklemek için kullanın trigger: true.

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

İşlem hattı kaynak tetikleyicisini devre dışı bırakmak için değerini nonebelirtin.

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

Dal filtrelerini yapılandırmak için tam söz dizimini kullanın. Dal filtreleri, dahil edilecek dalların listesi veya dahil edilecek dalların listesi olarak ve dışlanacak dalların listesi olarak belirtilebilir.

Dahil etmek ve dışlamak üzere dalların listesini belirtmek için aşağıdaki trigger söz dizimini kullanın.

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

Dahil etmek üzere dalların listesini belirtmek için, dışlama olmadan değeri atlar exclude veya aşağıdaki söz dizimini kullanarak doğrudan takip branchesedilen dalların listesini belirtin.

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

Aşamalara veya etiketlere göre filtrelemek için aşağıdaki trigger söz dizimini kullanın.

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

Daha fazla bilgi için bkz . İşlem hattı tamamlama tetikleyicileri.

Önemli

Bir kaynak tetikleyicisi tanımladığınızda, işlem hattı kaynağı geçerli işlem hattıyla aynı depodansa tetikleyici, olayın tetiklendiği dalı ve işlemeyi izler. Ancak işlem hattı kaynağı farklı bir depodansa, geçerli işlem hattı el ile ve zamanlanmış derlemeler ayarı için Varsayılan dal tarafından belirtilen dalda tetikler . Daha fazla bilgi için bkz . İşlem hattı tamamlama tetikleyicileri için dal konuları.

Önceden tanımlanmış değişkenler olarak işlem hattı kaynak meta verileri

Her çalıştırmada, bir işlem hattı kaynağının meta verileri tüm işler için aşağıdaki önceden tanımlanmış değişkenler olarak kullanılabilir. Bu değişkenler çalışma zamanında işlem hattınızda kullanılabilir ve bu nedenle işlem hattı derleme zamanında değerlendirilen şablon ifadelerinde kullanılamaz.

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

Önemli

projectName , işlem hattı kaynağında belirtilen bir project değer yoksa değişkenlerde mevcut değildir. project özelliği, aynı projedeki bir işlem hattına başvuran işlem hattı kaynakları için isteğe bağlıdır, ancak istenirse belirtilebilir.

değerini işlem hattı kaynağının kimliğiyle değiştirin <Alias> . Aşağıdaki işlem hattı kaynağı için erişecek runID değişken şeklindedir resources.pipeline.source-pipeline.runID.

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

İşlem hattı, işlem hattı kaynaklarından biri tarafından tetiklendiğinde, önceki listedeki değişkenlere ek olarak aşağıdaki değişkenler ayarlanır.

Değişken Değer
Build.Reason ResourceTrigger
Resources.TriggeringAlias önceki örnekteki gibi source-pipeline işlem hattı kaynağının adı.
Resource.TriggeringCategory pipeline

Aşağıdaki örnekte iki işlem hattı kaynağı vardır.

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

Bu işlem hattı çalıştırıldığında, ilk bash görev adlı source-pipelineişlem hattı kaynağının çıkışını projectName oluştururFabrikamFiber.

İkinci bash görev, bu bölümde açıklanan işlem hattı kaynak değişkenleri de dahil olmak üzere görev için kullanılabilir olan tüm ortam değişkenlerini çıkış olarak alır. Ortam değişkenlerini listeleme işlemi genellikle üretim işlem hattında yapılmaz, ancak sorun giderme için yararlı olabilir. Bu örnekte iki işlem hattı kaynağı vardır ve çıktı aşağıdaki iki satırı içerir.

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

Not

Sistem ve kullanıcı tanımlı değişkenler, platformunuz için ortam değişkenleri olarak eklenmiştir. Değişkenler ortam değişkenlerine dönüştüğünde, değişken adları büyük harfe dönüşür ve nokta alt çizgilere dönüşür. Örneğin değişken adı any.variable olur ANY_VARIABLE.

Değişkenleri ve değişken söz dizimlerini kullanma hakkında daha fazla bilgi için bkz. Değişken söz dizimlerini anlama, Koşulları belirtme ve İfadeler.

Görev kullanarak download işlem hattı kaynağındaki yapıtları kullanabilirsiniz. Steps.download anahtar sözcüğüne bakın.

Örnekler

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

Ayrıca bkz.