Sdílet prostřednictvím


definice jobs.deployment.strategy

Strategie nasazení umožňuje nakonfigurovat způsob doručení aktualizace.

Definice, které odkazují na tuto definici: jobs.deployment

Implementace

Implementace Popis
strategie: runOnce Spusťte strategii nasazení jednou.
strategie: průběžné Strategie postupného nasazení.
strategie: kanár Strategie nasazení kanárů.

Poznámky

Při nasazování aktualizací aplikací je důležité, aby technika, kterou použijete k doručení aktualizace, byla následující:

  • Povolte inicializaci.
  • Nasaďte aktualizaci.
  • Směrujte provoz na aktualizovanou verzi.
  • Otestujte aktualizovanou verzi po směrování provozu.
  • V případě selhání spusťte kroky pro obnovení do poslední známé funkční verze.

Dosahujeme toho pomocí háčků životního cyklu, které můžou spouštět kroky během nasazení. Každý z hooků životního cyklu se přeloží na úlohu agenta nebo serverovou úlohu (nebo kontejner nebo ověřovací úlohu v budoucnosti) v závislosti na atributu fondu. Ve výchozím nastavení zdědí zachytávání životního cyklu fond určený úlohou nasazení.

Úlohy nasazení používají $(Pipeline.Workspace) system variable.

Pokud používáte agenty v místním prostředí, můžete k vyčištění pracovního prostoru použít možnosti vyčištění pracovního prostoru.

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

strategie: runOnce

Strategie nasazení runOnce provede změny provedením jednotlivých kroků jednou.

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.

Vlastnosti

runOncejobs.deployment.strategy.runOnce.
Strategie nasazení RunOnce.

Poznámky

runOnce je nejjednodušší strategie nasazení, ve které se všechny háky životního cyklu, konkrétně preDeploydeploy, routeTraffica postRouteTraffic, spouští jednou. Pak se provede buď on: success nebo on: failure .

strategie: průběžné

Postupné nasazení nahradí instance předchozí verze aplikace instancemi nové verze aplikace na pevné sadě virtuálních počítačů (průběžná sada) v každé iteraci.

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.

Vlastnosti

rollingjobs.deployment.strategy.rolling.
Strategie postupného nasazení.

strategie: kanár

Strategie nasazení kanárů zavádět změny na malé podmnožině serverů.

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.

Vlastnosti

canaryjobs.deployment.strategy.canary.
Strategie nasazení kanárů.

Poznámky

Strategie nasazení Canary je pokročilá strategie nasazení, která pomáhá zmírnit rizika spojená se zaváděním nových verzí aplikací. Pomocí této strategie můžete nejprve zavést změny na malé podmnožině serverů. Jakmile získáte větší důvěru v novou verzi, můžete ji uvolnit na více serverech ve vaší infrastruktuře a směrovat na ni větší provoz.

Viz také