definition "jobs.deployment.strategy"
Mit einer Bereitstellungsstrategie können Sie konfigurieren, wie das Update bereitgestellt wird.
Definitionen, die auf diese Definition verweisen: jobs.deployment
Ausführungen
Implementierung | BESCHREIBUNG |
---|---|
Strategie: runOnce | Führen Sie einmal die Bereitstellungsstrategie aus. |
Strategie: Roll- | Rollout der Bereitstellungsstrategie. |
Strategie: Canary- | Canary-Bereitstellungsstrategie. |
Bemerkungen
Wenn Sie Anwendungsupdates bereitstellen, ist es wichtig, dass die Technik, die Sie zum Bereitstellen des Updates verwenden, Folgendes bedeutet:
- Aktivieren der Initialisierung.
- Bereitstellen des Updates.
- Weiterleiten des Datenverkehrs an die aktualisierte Version.
- Testen der aktualisierten Version nach dem Weiterleiten des Datenverkehrs.
- Führen Sie im Falle eines Fehlers Schritte aus, um die letzte bekannte gute Version wiederherzustellen.
Wir erreichen dies mithilfe von Lebenszyklus-Hooks, die Während der Bereitstellung Schritte ausführen können. Jeder Lebenszyklus-Hook wird je nach Pool-Attribut in einen Agentauftrag oder einen Serverauftrag (oder einen Container- oder Validierungsauftrag in der Zukunft) aufgelöst. Standardmäßig erben die Lebenszyklus-Hooks den durch den Bereitstellungsauftrag angegebenen Pool.
Bereitstellungsaufträge verwenden die $(Pipeline.Workspace) system variable.
Wenn Sie selbst gehostete Agents verwenden, können Sie die Arbeitsbereichsbereinigungsoptionen verwenden, um den Bereitstellungsarbeitsbereich zu bereinigen.
jobs:
- deployment: deploy
pool:
vmImage: ubuntu-latest
workspace:
clean: all
environment: staging
strategie: runOnce
Die RunOnce-Bereitstellungsstrategie führt Änderungen durch einmaliges Ausführen der einzelnen Schritte aus.
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.
Eigenschaften
runOnce
jobs.deployment.strategy.runOnce.
RunOnce-Bereitstellungsstrategie.
Bemerkungen
runOnce
ist die einfachste Bereitstellungsstrategie, bei der alle Lebenszyklus-Hooks, nämlich preDeploy
deploy
, routeTraffic
und postRouteTraffic
, einmal ausgeführt werden. Anschließend wird entweder on: success
oder on: failure
ausgeführt.
Strategie: rollt
Eine rollierende Bereitstellung ersetzt Instanzen der vorherigen Version einer Anwendung durch Instanzen der neuen Version der Anwendung auf einem festen Satz virtueller Computer (Rollsatz) in jeder Iteration.
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.
Eigenschaften
rolling
jobs.deployment.strategy.rolling.
Rollbereitstellungsstrategie.
Strategie: Canary
Die Canary-Bereitstellungsstrategie führt Änderungen an einer kleinen Teilmenge von Servern aus.
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.
Eigenschaften
canary
jobs.deployment.strategy.canary.
Canary-Bereitstellungsstrategie.
Bemerkungen
Die Canary-Bereitstellungsstrategie ist eine erweiterte Bereitstellungsstrategie, die dazu beiträgt, das Risiko zu verringern, das bei der Einführung neuer Versionen von Anwendungen erforderlich ist. Mithilfe dieser Strategie können Sie zuerst die Änderungen an einer kleinen Teilmenge von Servern bereitstellen. Wenn das Vertrauen in die neue Version zunimmt, können Sie sie für weitere Server in Ihrer Infrastruktur freigeben und mehr Datenverkehr an diese weiterleiten.