definice jobs.deployment.strategy.runOnce
Strategie nasazení runOnce provede změny provedením jednotlivých kroků jednou.
runOnce:
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.
Definice, které odkazují na tuto definici: jobs.deployment.strategy
Vlastnosti
preDeploy
preDeployHook.
Háček před nasazením pro strategii nasazení runOnce
deploy
deployHook.
Nasazení háku pro strategii nasazení runOnce
routeTraffic
routeTrafficHook.
Háček směrování provozu pro strategii nasazení runOnce
postRouteTraffic
postRouteTrafficHook.
Háček provozu po směrování pro strategii nasazení runOnce
on
onSuccessOrFailureHook.
Při úspěšné nebo neúspěšné háku pro strategii 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
.
Popisy háčků životního cyklu
preDeploy
: Slouží ke spuštění kroků, které inicializují prostředky před spuštěním nasazení aplikace.
deploy
: Slouží ke spuštění kroků, které nasadí vaši aplikaci. Úloha stažení artefaktu se automaticky vloží jenom do háku deploy
pro úlohy nasazení. Pokud chcete zastavit stahování artefaktů, použijte - download: none
nebo zvolte konkrétní artefakty ke stažení zadáním úlohy Stáhnout artefakt kanálu.
routeTraffic
: Slouží ke spuštění kroků, které obsluhují provoz do aktualizované verze.
postRouteTraffic
: Slouží ke spuštění kroků po směrování provozu. Tyto úlohy obvykle monitorují stav aktualizované verze po definovaný interval.
on: failure
nebo on: success
: Slouží ke spuštění kroků pro akce vrácení zpět nebo vyčištění.
Příklady
Následující příklad fragmentu kódu YAML ukazuje jednoduché použití úlohy nasazení pomocí runOnce
strategie nasazení. Příklad obsahuje krok pokladny.
jobs:
# Track deployments on the environment.
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: ubuntu-latest
# Creates an environment if it doesn't exist.
environment: 'smarthotel-dev'
strategy:
runOnce:
deploy:
steps:
- checkout: self
- script: echo my first deployment
Při každém spuštění této úlohy se zaznamenává historie nasazení v smarthotel-dev
prostředí.
Poznámka
- Je také možné vytvořit prostředí s prázdnými prostředky a použít ho jako abstraktní prostředí k záznamu historie nasazení, jak je znázorněno v předchozím příkladu.
Další příklad ukazuje, jak může kanál odkazovat na prostředí i prostředek, který se má použít jako cíl pro úlohu nasazení.
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: ubuntu-latest
# Records deployment against bookings resource - Kubernetes namespace.
environment: 'smarthotel-dev.bookings'
strategy:
runOnce:
deploy:
steps:
# No need to explicitly pass the connection details.
- task: KubernetesManifest@0
displayName: Deploy to Kubernetes cluster
inputs:
action: deploy
namespace: $(k8sNamespace)
manifests: |
$(System.ArtifactsDirectory)/manifests/*
imagePullSecrets: |
$(imagePullSecret)
containers: |
$(containerRegistry)/$(imageRepository):$(tag)
Tento přístup má následující výhody:
- Zaznamenává historii nasazení u konkrétního prostředku v rámci prostředí, nikoli zaznamenává historii všech prostředků v rámci prostředí.
- Kroky v úloze nasazení automaticky dědí podrobnosti o připojení prostředku (v tomto případě obor názvů Kubernetes),
smarthotel-dev.bookings
protože úloha nasazení je propojená s prostředím. To je užitečné v případech, kdy je stejný detail připojení nastavený pro více kroků úlohy.