Freigeben über


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 preDeploydeploy, routeTrafficund 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.

Siehe auch