stages.stage definition

A szakaszok kapcsolódó feladatok gyűjteményei. Alapértelmezés szerint a szakaszok egymás után futnak. Az egyes fázisok csak az előző szakasz befejezése után kezdődnek, kivéve, ha a dependsOn tulajdonság másként nem rendelkezik.

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.

A definícióra hivatkozó definíciók: szakaszok

Tulajdonságok

stage Karakterlánc. Első tulajdonságként kötelező megadni.
A szakasz azonosítója.

displayName Karakterlánc.
A színpad ember által olvasható neve.

poolkészletben.
Az a készlet, ahol az ebben a fázisban lévő feladatok futnak, kivéve, ha másként van megadva.

dependsOn sztring | sztringlista.
Minden olyan szakasz, amelynek ezt megelőzően be kell fejeződnie. Alapértelmezés szerint a szakaszok egymás után futnak a folyamatban meghatározott sorrendben. Adja meg dependsOn: [] a szakaszt, ha az nem függhet a folyamat előző szakaszától.

condition Karakterlánc.
Értékelje ki ezt a feltételkifejezést annak meghatározásához, hogy szeretné-e futtatni ezt a szakaszt.

variablesváltozók.
Szakaszspecifikus változók.

jobsfeladatokat.
A szakaszt alkotó feladatok.

lockBehavior Karakterlánc.
Az ebből a fázisból származó viselkedészárolási kéréseknek más kizárólagos zárolási kérésekkel kapcsolatban kell jelentkeznie. szekvenciális | runLatest.

templateContext templateContext.
A folyamatból a sablon kiterjesztésekor átadott szakaszhoz kapcsolódó információk. További információ: templateContextA kiterjesztett YAML-folyamatok sablonjai mostantól átadhatók a fázisokra, feladatokra és üzembe helyezésekre vonatkozó környezeti információknak, valamint sablonok – A templateContext használatával adhatja át a tulajdonságokat a sablonoknak.

Megjegyzések

A jóváhagyási ellenőrzések használatával manuálisan szabályozhatja, hogy mikor kell futtatni egy szakaszt. Ezeket az ellenőrzéseket gyakran használják az éles környezetek üzemelő példányainak szabályozására.

Az ellenőrzések az erőforrás-tulajdonos számára elérhető mechanizmusok. Azt szabályozzák, hogy egy folyamat egy szakasza mikor használ fel erőforrást. Egy erőforrás, például egy környezet tulajdonosaként megadhatja azokat az ellenőrzéseket, amelyek szükségesek ahhoz, hogy az erőforrást használó szakasz elinduljon.

Jelenleg a manuális jóváhagyási ellenőrzések támogatottak a környezetekben. További információ: Jóváhagyások.

Exkluzív zárolás

A YAML-folyamatokban az ellenőrzések a védett erőforrások szakaszainak végrehajtásának szabályozására szolgálnak. Az egyik gyakori ellenőrzés, amelyet használhat, egy kizárólagos zárolási ellenőrzés. Ez az ellenőrzés csak egyetlen futtatás folytatását teszi lehetővé a folyamatból. Ha egyszerre több futtatás kísérli meg az üzembe helyezést egy környezetben, az ellenőrzés megszakítja az összes régi futtatást, és engedélyezi a legújabb futtatás üzembe helyezését.

A kizárólagos zárolás-ellenőrzés viselkedését a lockBehavior tulajdonság használatával konfigurálhatja, amely két értékkel rendelkezik:

  • runLatest – Csak a legújabb futtatás szerzi be az erőforrás zárolását. Ez az alapértelmezett érték, ha nincs lockBehavior megadva.
  • sequential – Minden futtatás egymás után szerzi be a zárolást a védett erőforráshoz.

A régi futtatások megszakítása akkor jó megoldás, ha a kiadások összegződnek, és tartalmazzák az előző futtatások összes kódmódosítását. Vannak azonban olyan folyamatok, amelyekben a kódmódosítások nem kumulatívak. A tulajdonság konfigurálásával lockBehavior engedélyezheti, hogy az összes futtatás egymás után haladjon és telepítsen egy környezetben, vagy megőrizze a régi futtatások megszakításának korábbi viselkedését, és csak a legújabbat engedélyezze. A érték sequential azt jelenti, hogy minden futtatás egymás után szerzi be a zárolást a védett erőforráshoz. A érték runLatest azt jelenti, hogy csak a legújabb futtatás szerzi be az erőforrás zárolását.

Ha kizárólagos zárolás-ellenőrzést szeretne használni az sequential üzemelő példányokkal, kövesse runLatestaz alábbi lépéseket:

  1. Engedélyezze a kizárólagos zárolási ellenőrzést a környezetben (vagy egy másik védett erőforráson).
  2. A folyamat YAML-fájljában adjon meg egy új, nevű tulajdonságot lockBehavior. Ez a teljes folyamathoz vagy egy adott fázishoz adható meg:

Beállítás egy színpadon:

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

Beállítás a folyamaton:

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

Példák

Ez a példa három szakaszt futtat, egymás után. A középső szakasz két feladatot futtat párhuzamosan.

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!

Ez a példa két szakaszt futtat párhuzamosan. A rövidség kedvéért a feladatok és a lépések kimaradnak.

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

Lásd még

További információ a szakaszokról, feltételekről és változókról.