jobs.deployment.strategy.rolling definíció
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
Karakterlánc.
Párhuzamosan futó feladatok maximális száma.
preDeploy
preDeployHook.
Üzembe helyezési horog a 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.
Forgalomhook irányítása a működés közbeni üzembe helyezési stratégiához.
postRouteTraffic
postRouteTrafficHook.
Útválasztás utáni forgalomhook a működés közbeni üzembe helyezési stratégiához.
on
onSuccessOrFailureHook.
Sikeres vagy sikertelen üzembehelyezési stratégia esetén.
Megjegyzések
Az Azure Pipelines jelenleg csak a virtuálisgép-erőforrások működés közbeni stratégiáját támogatja.
A működés közbeni üzembe helyezés például általában megvárja, amíg az egyes virtuális gépek üzembe helyezése befejeződik, 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 működés közbeni üzemelő példányok a csomópont alatti strategy:
kulcsszó rolling:
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.
Az összes életciklushook támogatott, és az életciklushook-feladatok létrejönnek az egyes virtuális gépeken való futtatáshoz.
preDeploy
, deploy
, routeTraffic
és postRouteTraffic
a végrehajtása a által maxParallel
meghatározott kötegméretenként egyszer történik.
Ezután vagy on: success
on: failure
végrehajtja a parancsot.
A használatával maxParallel: <# or % of VMs>
szabályozhatja a virtuálisgép-példányok számát/százalékos arányát a párhuzamos üzembe helyezéshez. 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 a teljes á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 a 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ást üzembe helyező lépések futtatására szolgál. Az összetevő-feladat letöltése csak az deploy
üzembehelyezési feladatok horogjában lesz automatikusan beszúrva. Az összetevők letöltésének leállításához használja - download: none
vagy válassza ki a letölteni kívánt összetevőket a Folyamatösszetevő letöltése feladat megadásával.
routeTraffic
: A frissített verzió forgalmát 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
Az alábbi, virtuális gépekre vonatkozó gördülő stratégia minden iterációban legfeljebb öt célt frissít. maxParallel
ezzel párhuzamosan meghatározza az üzembe helyezhető célok számát. 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 az üzembe helyezett célokat. Az üzembe helyezés során a siker és a hiba feltételeinek meghatározására is használatos.
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
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: