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.
trigger
resources.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 none
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 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 branches
edilen 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-pipeline
iş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/*