definición de jobs.deployment.strategy
Una estrategia de implementación le permite configurar cómo se entrega la actualización.
Implementaciones
Implementación | Descripción |
---|---|
estrategia de : runOnce | Ejecute una vez la estrategia de implementación. |
estrategia de : gradual | Estrategia de implementación gradual. |
estrategia de : controlado | Estrategia de implementación controlada. |
Observaciones
Al implementar actualizaciones de aplicaciones, es importante que la técnica que use para entregar la actualización:
- Habilitación de la inicialización.
- Implementación de la actualización.
- Enrutamiento del tráfico a la versión actualizada.
- Prueba de la versión actualizada después del enrutamiento del tráfico.
- En caso de error, ejecute los pasos para restaurar a la última versión correcta conocida.
Esto se logra mediante enlaces de ciclo de vida que pueden ejecutar pasos durante la implementación. Cada uno de los enlaces de ciclo de vida se resuelve en un trabajo de agente o en un trabajo de servidor (o en un contenedor o trabajo de validación en el futuro), según el atributo pool. De forma predeterminada, los enlaces de ciclo de vida heredarán el grupo especificado por el trabajo de implementación.
Los trabajos de implementación usan el $(Pipeline.Workspace) system variable.
Si usa agentes autohospedados, puede usar las opciones de limpieza del área de trabajo para limpiar el área de trabajo de implementación.
jobs:
- deployment: deploy
pool:
vmImage: ubuntu-latest
workspace:
clean: all
environment: staging
estrategia: runOnce
La estrategia de implementación runOnce implementa los cambios mediante la ejecución de cada uno de sus pasos una vez.
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.
Propiedades
runOnce
jobs.deployment.strategy.runOnce.
estrategia de implementación de RunOnce.
Observaciones
runOnce
es la estrategia de implementación más sencilla en la que todos los enlaces del ciclo de vida, es decir, preDeploy
deploy
, routeTraffic
y postRouteTraffic
, se ejecutan una vez. A continuación, se ejecuta on: success
o on: failure
.
estrategia: gradual
Una implementación gradual reemplaza las instancias de la versión anterior de una aplicación por instancias de la nueva versión de la aplicación en un conjunto fijo de máquinas virtuales (conjunto gradual) en cada iteración.
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.
Propiedades
rolling
jobs.deployment.strategy.rolling.
estrategia de implementación gradual.
estrategia: valor controlado
La estrategia de implementación controlada implementa los cambios en un pequeño subconjunto de servidores.
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.
Propiedades
canary
jobs.deployment.strategy.canary.
estrategia de implementación controlada.
Observaciones
La estrategia de implementación controlada es una estrategia de implementación avanzada que ayuda a mitigar el riesgo implicado en la implementación de nuevas versiones de aplicaciones. Con esta estrategia, puede implementar primero los cambios en un pequeño subconjunto de servidores. A medida que gana confianza con la nueva versión, puede usarla en más servidores de la infraestructura y enrutar más tráfico a ella.