Permute slots de implantação
Você pode alternar os slots de implantação na página Slots de Implantação do seu aplicativo e na página Visão Geral. Antes de trocar um aplicativo de um slot de implantação para produção, verifique se a produção é o slot de destino e se todas as configurações no slot de origem estão configuradas exatamente como você deseja que estejam em produção.
Troca manual de slots de implantação
Para trocar os slots de implantação:
Navegue até a página Slot de Implantação e selecione Trocar. A caixa de diálogo Trocar mostra as configurações selecionadas nos slots de origem e de destino que serão alteradas.
Selecione os slots de Origem e de Destino desejados. Geralmente, o destino é o slot de produção. Selecione também as guias Alterações na Origem e Alterações no Destino e verifique se as alterações de configuração são as que você deseja. Após terminar, você pode trocar os slots imediatamente ao selecionar Trocar.
Para ver como o slot de destino seria executado com as novas configurações antes que a troca realmente aconteça, não selecione Trocar, mas siga as instruções em Troca com visualização abaixo.
Após terminar, feche a caixa de diálogo clicando em Fechar.
Troca com visualização (troca de várias fases)
Antes de trocar o slot de destino para produção, valide se o aplicativo está executando com as configurações trocadas. O slot de origem também é ativado antes da conclusão da troca, o que é desejável para aplicativos críticos.
Quando você executa uma troca com pré-visualização, o Serviço de Aplicativo do Azure executa a mesma operação de troca, mas pausa após a primeira etapa. Neste momento você pode verificar o resultado no slot de preparo antes de concluir a troca.
Se você cancelar a troca, o Serviço de Aplicativo do Azure aplica novamente as configurações ao slot de origem.
Troca com pré-visualização:
Siga as etapas acima em Trocar slots de implantação, mas marque a caixa de seleção Executar troca com visualização. A caixa de diálogo mostra como as configurações no slot de origem mudam na fase 1, e como os slots de origem e de destino mudam na fase 2.
Quando estiver pronto para iniciar a troca, selecione Iniciar Troca.
Quando a fase 1 é concluída, você recebe uma mensagem na caixa de diálogo. Pré-visualize a troca no slot de origem navegando até
https://<app_name>-<source-slot-name>.azurewebsites.net
.Quando estiver pronto para concluir a troca pendente, selecione Concluir Troca em Ação de Troca e clique em Concluir Troca.
Para cancelar uma troca pendente, selecione Cancelar Troca.
Após terminar, feche a caixa de diálogo clicando em Fechar.
Configurar a troca automática
A troca automática otimiza cenários do Azure DevOps Services em que você deseja implantar seu aplicativo continuamente sem inicialização a frio e sem tempo de inatividade para os clientes do aplicativo. Quando a troca automática é habilitada a partir de um slot para produção, sempre que você envia as alterações de código para esse slot, o Serviço de Aplicativo automaticamente troca o aplicativo para produção depois que ele é ativado no slot de origem.
Observação
A troca automática, atualmente, não tem suporte em aplicativos Web no Linux e no Aplicativo Web para Contêineres.
Configurar a troca automática:
Vá para a página de recursos do aplicativo e selecione o slot de implantação que você deseja configurar para a troca automática. A configuração está na página Configuração > Configurações gerais.
Defina Troca automática habilitada como Habilitada. Em seguida, selecione o slot de destino desejado para o slot de implantação da Troca automáticae selecione Salvar na barra de comandos.
Execute um push de código para o slot de origem. A Troca automática ocorre após um curto período de tempo, e a atualização é refletida no URL do seu slot de destino.
Especificar preparação personalizada
Alguns aplicativos podem exigir ações de preparação personalizada antes da troca. O elemento de configuração applicationInitialization
no web.config permite que você especifique ações de inicialização personalizada. A operação de troca aguarda a conclusão dessa preparação personalizada antes de trocar com o slot de destino. Abaixo, um exemplo de parte do web.config.
<system.webServer>
<applicationInitialization>
<add initializationPage="/" hostName="[app hostname]" />
<add initializationPage="/Home/About" hostName="[app hostname]" />
</applicationInitialization>
</system.webServer>
Para mais informações sobre como personalizar o elemento applicationInitialization
, consulte falhas mais comuns na troca de slot de implantação, e como corrigi-los.
Você também pode personalizar o comportamento da preparação com uma ou ambas das seguintes configurações de aplicativo:
WEBSITE_SWAP_WARMUP_PING_PATH
: caminho para executar o ping para inicializar seu site. Adicione essa configuração de aplicativo especificando um caminho personalizado que começa com uma barra (“/”) como o valor. Um exemplo é/statuscheck
. O valor padrão é/
.WEBSITE_SWAP_WARMUP_PING_STATUSES
: códigos de resposta HTTP válidos para a operação de preparação. Adicione essa configuração de aplicativo com uma lista separada por vírgulas dos códigos HTTP. Um exemplo é200,202
. Se o código de status retornado não estiver na lista, as operações de inicialização e troca são pausadas. Por padrão, todos os códigos de resposta são válidos.WEBSITE_WARMUP_PATH
: caminho relativo no site que deve ter seu ping executado sempre que o site for reiniciado (não apenas durante trocas de slot). Os valores de exemplo incluem/statuscheck
ou o caminho raiz,/
.
Reverter e monitorar uma troca
Se ocorrerem erros no slot de destino (por exemplo, o slot de produção) após uma alternância de slot, restaure os slots para seus estados de pré-alternância alternando os mesmos dois slots imediatamente.
Se a operação de troca levar muito tempo para ser concluída, você pode obter informações sobre a operação de troca no log de atividades.
Na página de recursos do aplicativo no portal, no painel à esquerda, selecione Log de Atividades.
Uma operação de troca é exibida na consulta de log como
Swap Web App Slots
. Você pode expandi-lo e selecionar uma das suboperações ou um dos erros para ver os detalhes.