Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma implantação sem interrupção substitui instâncias da versão anterior de um aplicativo por instâncias da nova versão do aplicativo em um conjunto fixo de máquinas virtuais (conjunto contínuo) em cada iteração.
rolling:
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.
Definições que fazem referência a esta definição: jobs.deployment.strategy
Propriedades
maxParallel
string.
Número máximo de trabalhos em execução em paralelo.
preDeploy
preDeployHook.
Gancho de pré-implantação para estratégia de implantação contínua.
deploy
deployHook.
Implantar gancho para estratégia de implantação contínua.
routeTraffic
routeTrafficHook.
Gancho de tráfego de rota para estratégia de implantação contínua.
postRouteTraffic
postRouteTrafficHook.
Gancho de tráfego de pós-rota para estratégia de implantação contínua.
on
onSuccessOrFailureHook.
Gancho de sucesso ou falha para a estratégia de implantação contínua.
Observações
Atualmente, os Pipelines do Azure dão suporte apenas à estratégia contínua para recursos de VM.
Por exemplo, uma implantação sem interrupção normalmente aguarda a conclusão das implantações em cada conjunto de máquinas virtuais antes de prosseguir para o próximo conjunto de implantações. Você pode fazer uma verificação de integridade após cada iteração e, se ocorrer um problema significativo, a implantação contínua pode ser interrompida.
As implantações contínuas podem ser configuradas especificando a palavra-chave rolling:
sob o nó strategy:
.
A variável strategy.name
está disponível neste bloco de estratégia, que leva o nome da estratégia. Neste caso, rolando.
Todos os ganchos de ciclo de vida são suportados e os trabalhos de gancho de ciclo de vida são criados para serem executados em cada VM.
preDeploy
, deploy
, routeTraffic
e postRouteTraffic
são executados uma vez por tamanho de lote definido por maxParallel
.
Em seguida, on: success
ou on: failure
é executado.
Com maxParallel: <# or % of VMs>
, você pode controlar o número/porcentagem de destinos de máquina virtual para implantar em paralelo. Isso garante que o aplicativo esteja sendo executado nessas máquinas e seja capaz de lidar com solicitações enquanto a implantação está ocorrendo no restante das máquinas, o que reduz o tempo de inatividade geral.
Observação
Existem algumas lacunas conhecidas neste recurso. Por exemplo, quando você tenta novamente um estágio, ele executa novamente a implantação em todas as VMs, não apenas em destinos com falha.
Descrições de ganchos de ciclo de vida
preDeploy
: Usado para executar etapas que inicializam recursos antes do início da implantação do aplicativo.
deploy
: Usado para executar etapas que implantam seu aplicativo. A tarefa de download do artefato será injetada automaticamente somente no gancho de deploy
para trabalhos de implantação. Para interromper o download de artefatos, use - download: none
ou escolha artefatos específicos para download, especificando tarefa Download Pipeline Artifact.
routeTraffic
: Usado para executar etapas que servem o tráfego para a versão atualizada.
postRouteTraffic
: Usado para executar as etapas depois que o tráfego é roteado. Normalmente, essas tarefas monitoram a integridade da versão atualizada para um intervalo definido.
on: failure
ou on: success
: Usado para executar etapas para ações de reversão ou limpeza.
Exemplos
O exemplo de estratégia contínua a seguir para VMs atualiza até cinco destinos em cada iteração.
maxParallel
determinará o número de alvos que podem ser implantados em paralelo. A seleção leva em conta o número absoluto ou a porcentagem de metas que devem permanecer disponíveis a qualquer momento, excluindo as metas para as quais estão sendo implantadas. Ele também é usado para determinar as condições de sucesso e falha durante a implantação.
jobs:
- deployment: VMDeploy
displayName: web
environment:
name: smarthotel-dev
resourceType: VirtualMachine
strategy:
rolling:
maxParallel: 5 #for percentages, mention as x%
preDeploy:
steps:
- download: current
artifact: drop
- script: echo initialize, cleanup, backup, install certs
deploy:
steps:
- task: IISWebAppDeploymentOnMachineGroup@0
displayName: 'Deploy application to Website'
inputs:
WebSiteName: 'Default Web Site'
Package: '$(Pipeline.Workspace)/drop/**/*.zip'
routeTraffic:
steps:
- script: echo routing traffic
postRouteTraffic:
steps:
- script: echo health check post-route traffic
on:
failure:
steps:
- script: echo Restore from backup! This is on failure
success:
steps:
- script: echo Notify! This is on success