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.
pool
ké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.
variables
változók.
Szakaszspecifikus változók.
jobs
feladatokat.
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ó: templateContext
A 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
További információ: templateContext
A 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.
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 nincslockBehavior
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 runLatest
az alábbi lépéseket:
- Engedélyezze a kizárólagos zárolási ellenőrzést a környezetben (vagy egy másik védett erőforráson).
- 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.