definice jobs.deployment.strategy
Strategie nasazení umožňuje nakonfigurovat způsob doručení aktualizace.
Definice, které odkazují na tuto definici: jobs.deployment
Implementace
Implementace | Popis |
---|---|
strategie: runOnce | Spusťte strategii nasazení jednou. |
strategie: průběžné | Strategie postupného nasazení. |
strategie: kanár | Strategie nasazení kanárů. |
Poznámky
Při nasazování aktualizací aplikací je důležité, aby technika, kterou použijete k doručení aktualizace, byla následující:
- Povolte inicializaci.
- Nasaďte aktualizaci.
- Směrujte provoz na aktualizovanou verzi.
- Otestujte aktualizovanou verzi po směrování provozu.
- V případě selhání spusťte kroky pro obnovení do poslední známé funkční verze.
Dosahujeme toho pomocí háčků životního cyklu, které můžou spouštět kroky během nasazení. Každý z hooků životního cyklu se přeloží na úlohu agenta nebo serverovou úlohu (nebo kontejner nebo ověřovací úlohu v budoucnosti) v závislosti na atributu fondu. Ve výchozím nastavení zdědí zachytávání životního cyklu fond určený úlohou nasazení.
Úlohy nasazení používají $(Pipeline.Workspace) system variable.
Pokud používáte agenty v místním prostředí, můžete k vyčištění pracovního prostoru použít možnosti vyčištění pracovního prostoru.
jobs:
- deployment: deploy
pool:
vmImage: ubuntu-latest
workspace:
clean: all
environment: staging
strategie: runOnce
Strategie nasazení runOnce provede změny provedením jednotlivých kroků jednou.
strategy:
runOnce: # RunOnce Deployment strategy.
preDeploy: # Pre deploy hook for runOnce 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 runOnce 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 runOnce 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 runOnce 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 runOnce 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.
Vlastnosti
runOnce
jobs.deployment.strategy.runOnce.
Strategie nasazení RunOnce.
Poznámky
runOnce
je nejjednodušší strategie nasazení, ve které se všechny háky životního cyklu, konkrétně preDeploy
deploy
, routeTraffic
a postRouteTraffic
, spouští jednou. Pak se provede buď on: success
nebo on: failure
.
strategie: průběžné
Postupné nasazení nahradí instance předchozí verze aplikace instancemi nové verze aplikace na pevné sadě virtuálních počítačů (průběžná sada) v každé iteraci.
strategy:
rolling: # Rolling Deployment strategy.
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.
Vlastnosti
rolling
jobs.deployment.strategy.rolling.
Strategie postupného nasazení.
strategie: kanár
Strategie nasazení kanárů zavádět změny na malé podmnožině serverů.
strategy:
canary: # Canary Deployment strategy.
increments: [ string ] # Maximum batch size for deployment.
preDeploy: # Pre deploy hook for canary 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 canary 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 canary 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 canary 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 canary 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.
Vlastnosti
canary
jobs.deployment.strategy.canary.
Strategie nasazení kanárů.
Poznámky
Strategie nasazení Canary je pokročilá strategie nasazení, která pomáhá zmírnit rizika spojená se zaváděním nových verzí aplikací. Pomocí této strategie můžete nejprve zavést změny na malé podmnožině serverů. Jakmile získáte větší důvěru v novou verzi, můžete ji uvolnit na více serverech ve vaší infrastruktuře a směrovat na ni větší provoz.