Aracılığıyla paylaş


resources.pipelines.pipeline tanımı

Yapıtlar üreten bir Azure pipeline'ı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ı kaynağı kullanarak işlem hattı tamamlama tetikleyicilerini de 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.

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 Project; varsayılan olarak geçerli projeyi kullanır.

source dize.
Yapıtı üreten 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ını , varsayılan olarak tüm aşamalarda başarılı olan en son işlem hattına sahiptir; yalnızca el ile veya zamanlanmış tetikleyiciler için kullanılır.

branch dize.
Yapıtı seçmek için Dal . Opsiyonel; yalnızca el ile veya zamanlanmış tetikleyiciler için kullanılan tüm dalları varsayılan olarak kullanır.

dize listesini tags.
varsayılan yapıtları almak için işlem hattında gerekli etiketlerin listesini . Opsiyonel; yalnızca el ile veya zamanlanmış tetikleyiciler için kullanılır.

resources.pipelines.pipeline.triggertrigger.
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

Uyarı

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 tetikleyicisindeki stages ve tags hakkında daha fazla bilgi için bkz. işlem hattı tamamlama tetikleyicilerini.

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

İşlem hattı kaynağı tetikleyici söz dizimi

Uyarı

İşlem hattı tamamlama tetikleyicileri, başka bir işlem hattının tamamlanması sonucunda işlem hattının çalıştırılıp çalıştırılmayacağını belirlerken yaml işlem hattının dal filtrelerinin hangi dal sürümünün değerlendirileceğini belirlemek üzere el ile ve zamanlanmış derlemeler ayarı için Varsayılan dalı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 birkaç yolu vardır. Başvuruda bulunan işlem hattının herhangi bir çalıştırması tamamlandığında bir çalıştırma tetikleme için trigger: truekullanın.

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

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

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 belirtilebilir ve dışlanacak dalların listesiyle birleştirilebilir.

Eklenecek ve dışlanan 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 istediğiniz dalların listesini dışlama olmadan belirtmek için, exclude değerini atleyin veya aşağıdaki söz dizimini kullanarak doğrudan izleyen dalların listesini branches.

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ı depodan geliyorsa tetikleyici, olayın oluşturulduğu aynı dalı ve işlemeyi izler. Ancak işlem hattı kaynağı farklı bir depodan geliyorsa, geçerli işlem hattı el ile ve zamanlanmış derlemeler ayarı için varsayılan dal tarafından belirtilen dalda tetiklenmiş olur. 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 aşağıdaki önceden tanımlanmış değişkenler olarak tüm işler tarafından 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ğının project değeri belirtilmemişse 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.

<Alias> değerini işlem hattı kaynağının kimliğiyle değiştirin. Aşağıdaki işlem hattı kaynağı için runID erişecek değişken 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 source-pipeline gibi işlem hattı kaynağının adı.
Resources.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 projectNameolan source-pipelineadlı işlem hattı kaynağının FabrikamFiber çıkışını alır.

İ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 oluşturur. Ortam değişkenlerini listeleme genellikle bir ü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

Uyarı

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 harflerle yazılır ve noktalar alt çizgilere dönüşür. Örneğin, değişken adı any.variableANY_VARIABLEolur.

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.

bir download görevi kullanarak işlem hattı kaynağındaki yapıtları kullanabilirsiniz. bkz. steps.download anahtar sözcüğü.

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