Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A működés közbeni üzembe helyezés az alkalmazás előző verziójának példányait az alkalmazás új verziójának példányaival helyettesíti az egyes iterációkban rögzített virtuális gépeken (gördülő készleten).
rolling:
maxParallel: string # Maximum number of jobs running in parallel.
preDeploy: # Pre deploy hook for rolling deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where pre deploy steps will run.
deploy: # Deploy hook for rolling deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where deploy steps will run.
routeTraffic: # Route traffic hook for rolling deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where route traffic steps will run.
postRouteTraffic: # Post route traffic hook for rolling deployment strategy.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where post route traffic steps will run.
on: # On success or failure hook for rolling deployment strategy.
failure: # Runs on failure of any step.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where post on failure steps will run.
success: # Runs on success of all of the steps.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # A list of steps to run.
pool: string | pool # Pool where on success steps will run.
A definícióra hivatkozó definíciók: jobs.deployment.strategy
Tulajdonságok
maxParallel
sztring.
Párhuzamosan futó feladatok maximális száma.
preDeploy
preDeployHook.
Üzembe helyezés előtti horog működés közbeni üzembe helyezési stratégiához.
deploy
deployHook.
A hook üzembe helyezése a működés közbeni üzembe helyezési stratégiához.
routeTraffic
routeTrafficHook.
Forgalmi horog irányítása a gördülő üzembe helyezési stratégiához.
postRouteTraffic
postRouteTrafficHook.
Útválasztás utáni forgalmi horog a gördülő üzembe helyezési stratégiához.
on
onSuccessOrFailureHook.
Sikeres vagy sikertelen üzembe helyezési stratégia esetén.
Megjegyzések
Az Azure Pipelines jelenleg csak a virtuálisgép-erőforrások gördülő stratégiáját támogatja.
Egy gördülő üzembe helyezés például általában megvárja az egyes virtuális gépek üzembe helyezését, mielőtt továbblép a következő üzembe helyezési csoportra. Az egyes iterációk után állapot-ellenőrzést végezhet, és ha jelentős probléma merül fel, a működés közbeni üzembe helyezés leállítható.
A gördülő üzemelő példányok a rolling:
csomópont alatti kulcsszó strategy:
megadásával konfigurálhatók.
A strategy.name
változó ebben a stratégiai blokkban érhető el, amely a stratégia nevét veszi fel. Ebben az esetben gördül.
Minden életciklus-horog támogatott, és az életciklus-horogfeladatok az egyes virtuális gépeken való futtatáshoz jönnek létre.
preDeploy
, deploy
, routeTraffic
és postRouteTraffic
végrehajtása maxParallel
által meghatározott kötegméretenként egyszer történik.
Ezután a rendszer végrehajtja on: success
vagy on: failure
.
A maxParallel: <# or % of VMs>
segítségével szabályozhatja a virtuálisgép-célok számát/százalékos arányát, amellyel párhuzamosan üzembe helyezhető. Ez biztosítja, hogy az alkalmazás ezeken a gépeken fusson, és képes kezelni a kéréseket, miközben az üzembe helyezés a többi gépen történik, ami csökkenti az általános állásidőt.
Megjegyzés
A funkció néhány ismert hiányosságot tartalmaz. Ha például újrapróbálkozott egy fázissal, az újrafuttatja az üzembe helyezést az összes virtuális gépen, nem csak sikertelen célokon.
Az életciklus-horgok leírása
preDeploy
: Az erőforrások inicializálására szolgáló lépések futtatására szolgál az alkalmazás üzembe helyezése előtt.
deploy
: Az alkalmazás üzembe helyezésének lépéseinek futtatására szolgál. Az összetevő-feladat letöltése csak az üzembe helyezési feladatok deploy
horogba lesz automatikusan injektálva. Az összetevők letöltésének leállításához használja a - download: none
, vagy válassza ki a letölteni kívánt összetevőket a Folyamatösszetevő-feladat letöltésemegadásával.
routeTraffic
: A frissített verzió felé történő forgalmat kiszolgáló lépések futtatására szolgál.
postRouteTraffic
: A forgalom irányítása után futtatja a lépéseket. Ezek a feladatok általában meghatározott időközönként figyelik a frissített verzió állapotát.
on: failure
vagy on: success
: A visszaállítási műveletek vagy a törlés lépéseinek futtatására szolgál.
Példák
A virtuális gépekre vonatkozó alábbi gördülőstratégia-példa az egyes iterációkban legfeljebb öt célt frissít.
maxParallel
meghatározza, hogy hány célhely helyezhető üzembe párhuzamosan. A kijelölés a célok abszolút számát vagy százalékos arányát adja meg, amelyeknek bármikor elérhetőnek kell maradniuk, kivéve azokat a célokat, amelyeken üzembe helyezve vannak. Az üzembe helyezés során a siker és a hibafeltételek meghatározására is használható.
jobs:
- deployment: VMDeploy
displayName: web
environment:
name: smarthotel-dev
resourceType: VirtualMachine
strategy:
rolling:
maxParallel: 5 #for percentages, mention as x%
preDeploy:
steps:
- download: current
artifact: drop
- script: echo initialize, cleanup, backup, install certs
deploy:
steps:
- task: IISWebAppDeploymentOnMachineGroup@0
displayName: 'Deploy application to Website'
inputs:
WebSiteName: 'Default Web Site'
Package: '$(Pipeline.Workspace)/drop/**/*.zip'
routeTraffic:
steps:
- script: echo routing traffic
postRouteTraffic:
steps:
- script: echo health check post-route traffic
on:
failure:
steps:
- script: echo Restore from backup! This is on failure
success:
steps:
- script: echo Notify! This is on success