definisi resources.pipelines.pipeline
Jika Anda memiliki Azure Pipeline yang menghasilkan artefak, alur Anda dapat menggunakan artefak dengan menentukan sumber daya alur. Pada Azure DevOps Server 2020 dan yang lebih tinggi, Anda juga dapat mengaktifkan pemicu penyelesaian alur menggunakan sumber daya alur.
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.
Definisi yang mereferensikan definisi ini: resources.pipelines
Properti
pipeline
String. Diperlukan sebagai properti pertama.
ID sumber daya alur. Nilai yang dapat diterima: [-_A-Za-z0-9]*.
project
String.
Proyek untuk sumber; default ke proyek saat ini.
source
String.
Nama alur yang menghasilkan artefak. Jika alur terkandung dalam folder, sertakan nama folder, termasuk leading \
, misalnya \security pipelines\security-lib-ci
. Properti ini tidak peka huruf besar/kecil dan tidak memerlukan tanda kutip jika nama menyertakan spasi. Jalur folder harus ditentukan jika ada beberapa alur dengan nama yang sama.
version
String.
Nomor eksekusi alur untuk memilih artefak, default ke alur terbaru berhasil di semua tahap; hanya digunakan untuk pemicu manual atau terjadwal.
branch
String.
Cabang untuk memilih artefak. Opsional; default ke semua cabang, hanya digunakan untuk pemicu manual atau terjadwal.
tags
daftar string.
Daftar tag yang diperlukan pada alur untuk mengambil artefak default. Opsional; hanya digunakan untuk pemicu manual atau terjadwal.
trigger
resources.pipelines.pipeline.trigger.
Tentukan tidak ada yang akan dinonaktifkan, benar untuk menyertakan semua cabang, atau gunakan sintaks lengkap seperti yang dijelaskan dalam contoh berikut.
Keterangan
Catatan
pipeline:
menentukan nama sumber daya alur. Gunakan label yang ditentukan di sini saat merujuk ke sumber daya alur dari bagian lain dari alur, seperti saat menggunakan variabel sumber daya alur atau mengunduh artefak.
Untuk informasi selengkapnya tentang stages
dan tags
di pemicu sumber daya alur, lihat pemicu penyelesaian alur.
Untuk informasi selengkapnya tentang pemicu sumber daya alur, lihat pemicu penyelesaian alur.
Sintaks pemicu sumber daya alur
Catatan
Pemicu penyelesaian alur menggunakan cabang Default untuk pengaturan build manual dan terjadwal untuk menentukan versi cabang mana dari filter cabang alur YAML yang akan dievaluasi saat menentukan apakah akan menjalankan alur sebagai hasil dari penyelesaian alur lain. Secara default pengaturan ini menunjuk ke cabang default repositori. Untuk informasi selengkapnya, lihat Pemicu penyelesaian alur - pertimbangan cabang.
Ada beberapa cara untuk menentukan pemicu dalam sumber daya alur. Untuk memicu eksekusi saat eksekusi alur yang dirujuk selesai, gunakan trigger: true
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger: true
Untuk menonaktifkan pemicu sumber daya alur, tentukan nilai none
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger: none
Untuk mengonfigurasi filter cabang, gunakan sintaks penuh. Filter cabang dapat ditentukan sebagai daftar cabang yang akan disertakan, atau sebagai daftar cabang untuk disertakan dikombinasikan dengan daftar cabang yang akan dikecualikan.
Untuk menentukan daftar cabang yang akan disertakan dan dikecualikan, gunakan sintaks berikut trigger
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches:
include:
- main
- develop
- features/*
exclude:
- features/experimental/*
Untuk menentukan daftar cabang yang akan disertakan, tanpa pengecualian, hilangkan exclude
nilai, atau gunakan sintaks berikut untuk menentukan daftar cabang yang akan disertakan secara langsung mengikuti branches
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches:
- main
- develop
Untuk memfilter menurut tahapan atau tag, gunakan sintaks berikut trigger
.
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
Untuk informasi selengkapnya, lihat Pemicu penyelesaian alur.
Penting
Saat Anda menentukan pemicu sumber daya, jika sumber daya alurnya berasal dari repositori yang sama dengan alur saat ini, pemicu mengikuti cabang yang sama dan berkomitmen di mana peristiwa dinaikkan. Tetapi jika sumber daya alur berasal dari repositori yang berbeda, alur saat ini dipicu pada cabang yang ditentukan oleh cabang Default untuk pengaturan build manual dan terjadwal . Untuk informasi selengkapnya, lihat Pertimbangan cabang untuk pemicu penyelesaian alur.
Metadata sumber daya alur sebagai variabel yang telah ditentukan sebelumnya
Dalam setiap eksekusi, metadata untuk sumber daya alur tersedia untuk semua pekerjaan sebagai variabel yang telah ditentukan sebelumnya berikut. Variabel ini tersedia untuk alur Anda saat runtime, dan oleh karena itu tidak dapat digunakan dalam ekspresi templat, yang dievaluasi pada waktu kompilasi alur.
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
Penting
projectName
tidak ada dalam variabel jika sumber daya alur tidak memiliki nilai yang project
ditentukan. Properti project
bersifat opsional untuk sumber daya alur yang mereferensikan alur dalam proyek yang sama, tetapi dapat ditentukan jika diinginkan.
Ganti <Alias>
dengan ID sumber daya alur. Untuk sumber daya alur berikut, variabel yang akan diakses runID
adalah resources.pipeline.source-pipeline.runID
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
Ketika alur dipicu oleh salah satu sumber daya alurnya, variabel berikut diatur selain variabel dalam daftar sebelumnya.
Variabel | Nilai |
---|---|
Build.Reason |
ResourceTrigger |
Resources.TriggeringAlias |
Nama sumber daya alur, seperti source-pipeline dari contoh sebelumnya. |
Resource.TriggeringCategory |
pipeline |
Contoh berikut memiliki dua sumber daya alur.
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
Pai alur ini dijalankan, tugas pertama bash
menghasilkan projectName
dari sumber daya alur bernama source-pipeline
, yaitu FabrikamFiber
.
Tugas kedua bash
menghasilkan semua variabel lingkungan yang tersedia untuk tugas, termasuk variabel sumber daya alur yang dijelaskan di bagian ini. Mencantumkan variabel lingkungan biasanya tidak dilakukan dalam alur produksi, tetapi dapat berguna untuk pemecahan masalah. Dalam contoh ini ada dua sumber daya alur, dan output berisi dua baris berikut.
RESOURCES_PIPELINE_OTHER-PROJECT-PIPELINE_PROJECTNAME=FabrikamRepo
RESOURCES_PIPELINE_SOURCE-PIPELINE_PROJECTNAME=FabrikamFiber
Catatan
Variabel yang ditentukan sistem dan pengguna disuntikkan sebagai variabel lingkungan untuk platform Anda. Ketika variabel dikonversi menjadi variabel lingkungan, nama variabel menjadi huruf besar, dan titik berubah menjadi garis bawah. Misalnya, nama any.variable
variabel menjadi ANY_VARIABLE
.
Untuk informasi selengkapnya tentang menggunakan variabel dan sintaks variabel, lihat Memahami sintaks variabel, Menentukan kondisi, dan Ekspresi.
Anda dapat menggunakan artefak dari sumber daya alur dengan menggunakan download
tugas. Lihat kata kunci steps.download .
Contoh
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/*