Delen via


definitie van jobs.deployment.strategy

Met een implementatiestrategie kunt u configureren hoe de update wordt geleverd.

Definities die naar deze definitie verwijzen: jobs.deployment

Implementaties

Implementatie Beschrijving
strategie: runOnce Implementatiestrategie eenmaal uitvoeren.
strategie: rolling Strategie voor rolling implementatie.
strategie: canary Strategie voor Canary-implementatie.

Opmerkingen

Wanneer u toepassingsupdates implementeert, is het belangrijk dat de techniek die u gebruikt om de update te leveren:

  • Initialisatie inschakelen.
  • Implementeer de update.
  • Verkeer routeren naar de bijgewerkte versie.
  • Test de bijgewerkte versie na het routeren van verkeer.
  • In het geval van een fout voert u stappen uit om te herstellen naar de laatst bekende goede versie.

We bereiken dit met behulp van levenscyclushook die stappen kunnen uitvoeren tijdens de implementatie. Elk van de levenscyclushook wordt omgezet in een agenttaak of een servertaak (of een container of validatietaak in de toekomst), afhankelijk van het poolkenmerk. Standaard nemen de levenscyclushook de pool over die is opgegeven door de implementatietaak.

Implementatietaken maken gebruik van de $(Pipeline.Workspace) system variable.

Als u zelf-hostende agents gebruikt, kunt u de opties voor het opschonen van de werkruimte gebruiken om uw implementatiewerkruimte op te schonen.

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

strategie: runOnce

De implementatiestrategie runOnce implementeert wijzigingen door elk van de stappen één keer uit te voeren.

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.

Eigenschappen

runOncejobs.deployment.strategy.runOnce.
Implementatiestrategie voor RunOnce.

Opmerkingen

runOnce is de eenvoudigste implementatiestrategie waarbij alle levenscyclushaken, namelijk preDeploydeploy, routeTrafficen postRouteTraffic, eenmaal worden uitgevoerd. Vervolgens wordt of on: successon: failure uitgevoerd.

strategie: rolling

Een rolling implementatie vervangt exemplaren van de vorige versie van een toepassing door exemplaren van de nieuwe versie van de toepassing op een vaste set virtuele machines (rolling set) in elke iteratie.

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.

Eigenschappen

rollingjobs.deployment.strategy.rolling.
Strategie voor rolling implementatie.

strategie: canary

De canary-implementatiestrategie implementeert wijzigingen in een kleine subset van servers.

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.

Eigenschappen

canaryjobs.deployment.strategy.canary.
Strategie voor Canary-implementatie.

Opmerkingen

Canary-implementatiestrategie is een geavanceerde implementatiestrategie die helpt het risico te beperken dat gepaard gaat met het implementeren van nieuwe versies van toepassingen. Met behulp van deze strategie kunt u de wijzigingen eerst implementeren in een kleine subset van servers. Naarmate u meer vertrouwen krijgt in de nieuwe versie, kunt u deze vrijgeven aan meer servers in uw infrastructuur en er meer verkeer naartoe routeren.

Zie ook