Megosztás a következőn keresztül:


jobs.deployment.strategy definition

Az üzembehelyezési stratégia lehetővé teszi a frissítés kézbesítésének konfigurálását.

A definícióra hivatkozó definíciók: jobs.deployment

Megvalósítások

Megvalósítás Leírás
stratégia: runOnce Futtassa az egyszeri üzembehelyezési stratégiát.
stratégia: gördülő Gördülő üzembe helyezési stratégia.
stratégia: kanári Canary üzembehelyezési stratégia.

Megjegyzések

Alkalmazásfrissítések telepítésekor fontos, hogy a frissítés kézbesítéséhez használt technika a következő lesz:

  • Inicializálás engedélyezése.
  • Telepítse a frissítést.
  • Forgalom átirányítása a frissített verzióra.
  • Tesztelje a frissített verziót az útválasztási forgalom után.
  • Hiba esetén futtassa a lépéseket az utolsó ismert jó verzióra való visszaállításhoz.

Ezt olyan életciklus-horgok használatával érjük el, amelyek az üzembe helyezés során futtathatnak lépéseket. Az életciklus-horgok mindegyike ügynökfeladatként vagy kiszolgálói feladatként (vagy a jövőben egy tároló- vagy érvényesítési feladatként) oldható fel a készlet attribútumától függően. Alapértelmezés szerint az életciklus-horgok öröklik az üzembe helyezési feladat által megadott készletet.

Az üzembehelyezési feladatok a $(Pipeline.Workspace) system variable.

Ha saját üzemeltetésű ügynököket használ, a munkaterület tiszta beállításaival megtisztíthatja az üzembehelyezési munkaterületet.

  jobs:
  - deployment: deploy
    pool:
      vmImage: ubuntu-latest
      workspace:
        clean: all
    environment: staging

stratégia: runOnce

A RunOnce üzembe helyezési stratégiája úgy vezet be módosításokat, hogy mindegyik lépését egyszer végrehajtja.

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.

Tulajdonságok

runOnce jobs.deployment.strategy.runOnce.
RunOnce üzembe helyezési stratégiáját.

Megjegyzések

runOnce a legegyszerűbb üzembehelyezési stratégia, amely az összes életciklus-horgot, nevezetesen preDeploydeploy, routeTrafficés postRouteTrafficegyszer hajtja végre. Ezután a rendszer végrehajtja on: success vagy on: failure.

stratégia: gördülő

A működés közbeni üzembe helyezés az alkalmazás előző verziójának példányait az alkalmazás új verziójának példányaival helyettesíti az egyes iterációkban rögzített virtuális gépeken (gördülő készleten).

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.

Tulajdonságok

rolling jobs.deployment.strategy.rolling.
gördülő üzembe helyezési stratégiát.

stratégia: kanári

A Canary üzembehelyezési stratégiája módosításokat hajt végre a kiszolgálók egy kis részhalmazán.

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.

Tulajdonságok

canary jobs.deployment.strategy.canary.
Canary üzembehelyezési stratégiáját.

Megjegyzések

A Canary üzembe helyezési stratégiája egy fejlett üzembehelyezési stratégia, amely segít csökkenteni az alkalmazások új verzióinak bevezetéséből eredő kockázatokat. Ezzel a stratégiával először a kiszolgálók egy kis részhalmazát módosíthatja. Az új verzióba vetett nagyobb bizalommal több kiszolgálóra is kiadhatja az infrastruktúrában, és nagyobb forgalmat irányíthat hozzá.

Lásd még