definisi stages.stage
Tahapan adalah kumpulan pekerjaan terkait. Secara default, tahapan berjalan secara berurutan. Setiap tahap dimulai hanya setelah tahap sebelumnya selesai kecuali ditentukan lain melalui dependsOn
properti .
stages:
- stage: string # Required as first property. ID of the stage.
displayName: string # Human-readable name for the stage.
pool: string | pool # Pool where jobs in this stage will run unless otherwise specified.
dependsOn: string | [ string ] # Any stages which must complete before this one.
condition: string # Evaluate this condition expression to determine whether to run this stage.
variables: variables | [ variable ] # Stage-specific variables.
jobs: [ job | deployment | template ] # Jobs which make up the stage.
lockBehavior: string # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
templateContext: # Stage related information passed from a pipeline when extending a template.
stages:
- stage: string # Required as first property. ID of the stage.
displayName: string # Human-readable name for the stage.
pool: string | pool # Pool where jobs in this stage will run unless otherwise specified.
dependsOn: string | [ string ] # Any stages which must complete before this one.
condition: string # Evaluate this condition expression to determine whether to run this stage.
variables: variables | [ variable ] # Stage-specific variables.
jobs: [ job | deployment | template ] # Jobs which make up the stage.
Definisi yang mereferensikan definisi ini: tahapan
Properti
stage
String. Diperlukan sebagai properti pertama.
ID tahap.
displayName
String.
Nama yang bisa dibaca manusia untuk panggung.
pool
kolam renang.
Kumpulan tempat pekerjaan dalam tahap ini akan berjalan kecuali ditentukan lain.
dependsOn
string | daftar string.
Setiap tahapan yang harus diselesaikan sebelum tahap ini. Secara default, tahap dijalankan secara berurutan dalam urutan yang ditentukan dalam alur. Tentukan dependsOn: []
untuk tahap jika tidak boleh bergantung pada tahap sebelumnya dalam alur.
condition
String.
Evaluasi ekspresi kondisi ini untuk menentukan apakah akan menjalankan tahap ini.
variables
variabel.
Variabel khusus tahap.
jobs
pekerjaan.
Pekerjaan yang membentuk panggung.
lockBehavior
String.
Permintaan kunci perilaku dari tahap ini harus dipamerkan sehubungan dengan permintaan kunci eksklusif lainnya. berurutan | runLatest.
templateContext
templateContext.
Informasi terkait tahapan yang diteruskan dari alur saat memperluas templat. Untuk informasi selengkapnya tentang templateContext
, lihat Templat Alur YAML yang Diperluas sekarang dapat diteruskan informasi konteks untuk tahapan, pekerjaan, dan penyebaran dan Templat - Gunakan templateContext untuk meneruskan properti ke templat.
Keterangan
Untuk informasi selengkapnya tentang templateContext
, lihat Templat Alur YAML yang Diperluas sekarang dapat diteruskan informasi konteks untuk tahapan, pekerjaan, dan penyebaran dan Templat - Gunakan templateContext untuk meneruskan properti ke templat.
Gunakan pemeriksaan persetujuan untuk mengontrol secara manual kapan tahap harus berjalan. Pemeriksaan ini biasanya digunakan untuk mengontrol penyebaran ke lingkungan produksi.
Pemeriksaan adalah mekanisme yang tersedia untuk pemilik sumber daya. Pemeriksaan mengontrol saat tahapan dalam alur menggunakan sumber daya. Sebagai pemilik sumber daya seperti lingkungan, Anda dapat menentukan pemeriksaan yang diperlukan sebelum tahap yang mengonsumsi sumber daya dapat dimulai.
Saat ini, pemeriksaan persetujuan manual didukung pada lingkungan. Untuk informasi selengkapnya, lihat Persetujuan.
Kunci eksklusif
Dalam alur YAML, pemeriksaan digunakan untuk mengontrol eksekusi tahapan pada sumber daya yang dilindungi. Salah satu pemeriksaan umum yang dapat Anda gunakan adalah pemeriksaan kunci eksklusif. Pemeriksaan ini hanya memungkinkan satu eksekusi dari alur yang dilanjutkan. Ketika beberapa eksekusi mencoba menyebarkan ke lingkungan pada saat yang sama, pemeriksaan membatalkan semua eksekusi lama dan mengizinkan eksekusi terbaru untuk disebarkan.
Anda dapat mengonfigurasi perilaku pemeriksaan kunci eksklusif menggunakan lockBehavior
properti , yang memiliki dua nilai:
runLatest
- Hanya eksekusi terbaru yang memperoleh kunci ke sumber daya. Ini adalah nilai default jika tidaklockBehavior
ada yang ditentukan.sequential
- Semua eksekusi memperoleh kunci secara berurutan ke sumber daya yang dilindungi.
Membatalkan eksekusi lama adalah pendekatan yang baik ketika rilis Anda bersifat kumulatif dan berisi semua perubahan kode dari eksekusi sebelumnya. Namun, ada beberapa alur di mana perubahan kode tidak kumulatif. Dengan mengonfigurasi lockBehavior
properti , Anda dapat memilih untuk mengizinkan semua eksekusi untuk melanjutkan dan menyebarkan secara berurutan ke lingkungan, atau mempertahankan perilaku sebelumnya untuk membatalkan eksekusi lama dan hanya mengizinkan yang terbaru. Nilai sequential
menyiratkan bahwa semua eksekusi memperoleh kunci secara berurutan ke sumber daya yang dilindungi. Nilai runLatest
menyiratkan bahwa hanya eksekusi terbaru yang memperoleh kunci ke sumber daya.
Untuk menggunakan pemeriksaan kunci eksklusif dengan sequential
penyebaran atau runLatest
, ikuti langkah-langkah berikut:
- Aktifkan pemeriksaan kunci eksklusif pada lingkungan (atau sumber daya lain yang dilindungi).
- Dalam file YAML untuk alur, tentukan properti baru yang disebut
lockBehavior
. Ini dapat ditentukan untuk seluruh alur atau untuk tahap tertentu:
Atur pada panggung:
stages:
- stage: A
lockBehavior: sequential
jobs:
- job: Job
steps:
- script: Hey!
Atur pada alur:
lockBehavior: runLatest
stages:
- stage: A
jobs:
- job: Job
steps:
- script: Hey!
Contoh
Contoh ini menjalankan tiga tahapan, satu demi satu. Tahapan tengah menjalankan dua pekerjaan secara paralel.
stages:
- stage: Build
jobs:
- job: BuildJob
steps:
- script: echo Building!
- stage: Test
jobs:
- job: TestOnWindows
steps:
- script: echo Testing on Windows!
- job: TestOnLinux
steps:
- script: echo Testing on Linux!
- stage: Deploy
jobs:
- job: Deploy
steps:
- script: echo Deploying the code!
Contoh ini menjalankan dua tahap secara paralel. Untuk keringkasan, pekerjaan dan langkah-langkahnya dihilangkan.
stages:
- stage: BuildWin
displayName: Build for Windows
- stage: BuildMac
displayName: Build for Mac
dependsOn: [] # by specifying an empty array, this stage doesn't depend on the stage before it
Lihat juga
Pelajari selengkapnya tentang tahapan, kondisi, dan variabel.