jobs.deployment.strategy.canary definition
Strategin för canary-distribution distribuerar ändringar till en liten delmängd av servrarna.
canary:
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.
Definitioner som refererar till den här definitionen: jobs.deployment.strategy
Egenskaper
increments
stränglista.
Maximal batchstorlek för distribution.
preDeploy
preDeployHook.
Fördistributionshook för strategi för canary-distribution.
deploy
deployHook.
Distribuera hook för strategi för canary-distribution.
routeTraffic
routeTrafficHook.
Dirigera trafikhook för en strategi för kanariedistribution.
postRouteTraffic
postRouteTrafficHook.
Efter routning av trafikhook för en strategi för kanariedistribution.
on
onSuccessOrFailureHook.
Vid lyckad eller misslyckad hook för kanariedistributionsstrategi.
Kommentarer
Strategi för canary-distribution är en avancerad distributionsstrategi som hjälper till att minska risken med att lansera nya versioner av program. Med den här strategin kan du distribuera ändringarna till en liten delmängd av servrarna först. När du får mer förtroende för den nya versionen kan du släppa den till fler servrar i infrastrukturen och dirigera mer trafik till den.
Strategin för canary-distribution stöder preDeploy
livscykelhooken (körs en gång) och itererar med deploy
hookarna , routeTraffic
och postRouteTraffic
livscykeln. Den avslutas sedan med antingen eller failure
krokensuccess
.
Följande variabler är tillgängliga i den här strategin:
strategy.name
: Namnet på strategin. Till exempel kanariefågel.
strategy.action
: Den åtgärd som ska utföras på Kubernetes-klustret. Du kan till exempel distribuera, höja upp eller avvisa.
strategy.increment
: Det inkrementsvärde som används i den aktuella interaktionen. Den här variabeln är endast tillgänglig i deploy
, routeTraffic
och postRouteTraffic
livscykelkrokar.
Beskrivningar av livscykelkrokar
preDeploy
: Används för att köra steg som initierar resurser innan programdistributionen startar.
deploy
: Används för att köra steg som distribuerar ditt program. Ladda ned artefaktaktivitet matas bara in automatiskt i hooken deploy
för distributionsjobb. Om du vill sluta ladda ned artefakter använder - download: none
eller väljer du specifika artefakter som ska laddas ned genom att ange uppgiften Ladda ned pipelineartefakt.
routeTraffic
: Används för att köra steg som hanterar trafiken till den uppdaterade versionen.
postRouteTraffic
: Används för att köra stegen när trafiken dirigeras. Normalt övervakar dessa uppgifter hälsotillståndet för den uppdaterade versionen för det definierade intervallet.
on: failure
eller on: success
: Används för att köra steg för återställningsåtgärder eller rensning.
Exempel
I följande exempel distribuerar kanariestrategin för AKS först ändringarna med 10 procent poddar, följt av 20 procent, samtidigt som hälsotillståndet övervakas under postRouteTraffic
. Om allt går bra kommer det att höjas till 100 procent.
jobs:
- deployment:
environment: smarthotel-dev.bookings
pool:
name: smarthotel-devPool
strategy:
canary:
increments: [10,20]
preDeploy:
steps:
- script: initialize, cleanup....
deploy:
steps:
- script: echo deploy updates...
- task: KubernetesManifest@0
inputs:
action: $(strategy.action)
namespace: 'default'
strategy: $(strategy.name)
percentage: $(strategy.increment)
manifests: 'manifest.yml'
postRouteTraffic:
pool: server
steps:
- script: echo monitor application health...
on:
failure:
steps:
- script: echo clean-up, rollback...
success:
steps:
- script: echo checks passed, notify...
Se även
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för