stages.stage tanımı

Aşamalar, ilgili işlerden oluşan bir koleksiyondır. Varsayılan olarak aşamalar sıralı olarak çalıştırılır. Her aşama, özellik aracılığıyla dependsOn aksi belirtilmedikçe yalnızca önceki aşama tamamlandıktan sonra başlar.

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.

Bu tanıma başvuran tanımlar: aşamalar

Özellikler

stage Dize. İlk özellik olarak gereklidir.
Aşamanın kimliği.

displayName Dize.
Sahne için insan tarafından okunabilir bir ad.

poolhavuzuna bakın.
Aksi belirtilmedikçe bu aşamadaki işlerin çalıştırılacağı havuz.

dependsOn dize | dize listesi.
Bundan önce tamamlanması gereken tüm aşamalar. Varsayılan olarak aşamalar ardışık olarak işlem hattında tanımlanan sırayla çalıştırılır. İşlem hattındaki önceki aşamaya bağlı olmaması gerekiyorsa bir aşama belirtin dependsOn: [] .

condition Dize.
Bu aşamanın çalıştırılıp çalıştırılmayacağını belirlemek için bu koşul ifadesini değerlendirin.

variablesdeğişkenlerini seçin.
Aşamaya özgü değişkenler.

jobsişleri seçin.
Aşamayı oluşturan işler.

lockBehavior Dize.
Bu aşamadan gelen davranış kilidi istekleri, diğer özel kilit istekleriyle ilgili olarak gösterilmelidir. sıralı | runLatest.

templateContext templateContext.
Şablon genişletilirken işlem hattından geçirilen aşamayla ilgili bilgiler. hakkında templateContextdaha fazla bilgi için bkz. Genişletilmiş YAML İşlem Hatları şablonları artık aşamalar, işler ve dağıtımlar için bağlam bilgileri geçirilebilir veŞablonlar - Özellikleri şablonlara geçirmek için templateContext kullanma.

Açıklamalar

Aşamanın ne zaman çalıştırılması gerektiğini el ile denetlemek için onay denetimlerini kullanın. Bu denetimler genellikle üretim ortamlarına yapılan dağıtımları denetlemek için kullanılır.

Denetimler , kaynak sahibinin kullanabileceği bir mekanizmadır. İşlem hattındaki bir aşamanın bir kaynağı ne zaman tükettiği denetlenir. Ortam gibi bir kaynağın sahibi olarak, kaynağı kullanan bir aşamanın başlayabilmesi için gereken denetimleri tanımlayabilirsiniz.

Şu anda ortamlarda el ile onay denetimleri desteklenmektedir. Daha fazla bilgi için bkz . Onaylar.

Özel kilit

YAML işlem hatlarında, korumalı kaynaklarda aşamaların yürütülmesini denetlemek için denetimler kullanılır. Kullanabileceğiniz yaygın denetimlerden biri özel kilit denetimidir. Bu denetim işlem hattından yalnızca tek bir çalıştırmanın devamını sağlar. Birden çok çalıştırma aynı anda bir ortama dağıtım yapmaya çalıştığında, denetim tüm eski çalıştırmaları iptal eder ve en son çalıştırmanın dağıtılmasına izin verir.

İki değeri olan özelliğini kullanarak özel kullanım kilidi denetiminin lockBehavior davranışını yapılandırabilirsiniz:

  • runLatest - Yalnızca en son çalıştırma, kaynağın kilidini alır. Belirtilmezse lockBehavior bu varsayılan değerdir.
  • sequential - Tüm çalıştırmalar kilidi korumalı kaynağa sırayla alır.

Yayınlarınız toplu olduğunda ve önceki çalıştırmalardan gelen tüm kod değişikliklerini içerdiğinde eski çalıştırmaları iptal etmek iyi bir yaklaşımdır. Ancak, kod değişikliklerinin toplu olmadığı bazı işlem hatları vardır. özelliğini yapılandırarak lockBehavior , tüm çalıştırmaların devam edip bir ortama sıralı olarak dağıtılmasına izin vermeyi veya eski çalıştırmaları iptal etme ve yalnızca en son çalıştırmalara izin verme önceki davranışını korumayı seçebilirsiniz. değeri sequential , tüm çalıştırmaların kilidi korumalı kaynağa sırayla aldığı anlamına gelir. değeri runLatest , yalnızca en son çalıştırmanın kaynağın kilidini aldığını gösterir.

veya runLatestdağıtımlarıyla sequential özel kilit denetimi kullanmak için şu adımları izleyin:

  1. Ortamda (veya başka bir korumalı kaynakta) özel kullanım kilidi denetimini etkinleştirin.
  2. İşlem hattının YAML dosyasında adlı lockBehavioryeni bir özellik belirtin. Bu işlem hattının tamamı veya belirli bir aşama için belirtilebilir:

Bir aşamada ayarlayın:

stages:
- stage: A
  lockBehavior: sequential
  jobs:
  - job: Job
    steps:
    - script: Hey!

İşlem hattında ayarlayın:

lockBehavior: runLatest
stages:
- stage: A
  jobs:
  - job: Job
    steps:
    - script: Hey!

Örnekler

Bu örnek, üç aşamayı birbiri ardına çalıştırır. Orta aşama iki işi paralel olarak çalıştırır.

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!

Bu örnek iki aşamayı paralel olarak çalıştırır. Kısa olması için işler ve adımlar atlanır.

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

Ayrıca bkz.

Aşamalar, koşullar ve değişkenler hakkında daha fazla bilgi edinin.