Exercício - configurar uma implantação azul-verde

Concluído

Nesta demonstração, você investigará a implantação azul-verde.

Passos

Vamos agora ver como um pipeline de liberação pode ser usado para implementar implantações azul-verde.

Começaremos criando um novo projeto com um pipeline de lançamento que pode implantar o modelo Parts Unlimited novamente.

Uma implantação inicial do aplicativo

  1. Navegue até o Gerador de Demonstração do Azure DevOps em um navegador: https://azuredevopsdemogenerator.azurewebsites.net e clique em Entrar.

    Ser-lhe-á pedido para iniciar sessão, se necessário.

  2. Na janela Criar novo projeto, selecione sua organização existente, defina o nome do projeto como PU hospedado e clique em Escolher modelo.

    Choose template.

  3. Clique no projeto PartsUnlimited (não no projeto PartsUnlimited-YAML), clique em Selecionar modelo e clique em Criar projeto. Quando a implantação for concluída, clique em Navegar até o projeto.

  4. No menu principal do PU Hosted, clique em Pipelines, clique em Compilações, depois em Fila e, finalmente, em Executar para iniciar uma compilação.

    A construção deve ter sucesso.

    Nota

    Avisos podem aparecer, mas podem ser ignorados para este passo a passo.

    Build succeeded with warnings.

  5. No menu principal, clique em Liberações. Como um gatilho de integração contínua estava em vigor, uma liberação foi tentada. No entanto, ainda não configuramos a versão, então ela terá falhado. Clique em Editar para entrar no modo de edição da versão.

    Release pipeline edit.

  6. Selecione o estágio Desenvolvimento na lista suspensa ao lado de Tarefas e clique para selecionar a tarefa Implantação do Azure.

  7. No painel de implantação do grupo de recursos do Azure, selecione sua assinatura do Azure e clique em Autorizar quando solicitado. Quando a autorização for concluída, escolha um Local para o aplicativo Web.

    Nota

    Você pode ser solicitado a entrar no Azure neste momento.

    Resource group deployment.

  8. Clique em Implantar o Serviço de Aplicativo do Azure na lista de tarefas para abrir suas configurações. Novamente, selecione sua assinatura do Azure. Defina o slot de implantação como Preparo.

    Staging app service deploy.

    Nota

    O modelo cria um site de produção e dois slots de implantação: Dev e Staging. Usaremos o Estadiamento para o nosso site Verde.

  9. Na lista de tarefas, clique em Desenvolvedor e, no painel de trabalho Agente, selecione Pipelines do Azure para o pool de Agentes e janelas mais recentes para a Especificação do Agente.

    Agent job configuration.

  10. No menu superior, clique em Pipelines. Clique no estágio Desenvolvimento e, na janela de propriedades, renomeie-o para Site Verde. Clique no estágio de controle de qualidade e clique em Excluir e confirmar. Clique no estágio Produção e clique em Excluir e Confirmar. Clique em Guardar e, em seguida, em OK.

    Green site stages complete.

  11. Passe o cursor sobre o estágio Site Verde e clique no ícone Clonar quando ele aparecer. Altere o nome do palco para Produção. Na lista suspensa Tarefas, selecione Produção.

    Production tasks.

  12. Clique na tarefa Implantar do Serviço de Aplicativo do Azure e desmarque a opção Implantar no slot. Clique em Salvar e OK.

    No deploy to slot.

    O local de produção não é implantado em um slot de implantação. Ele é implantado no site principal.

  13. Clique em Criar versão e, em seguida, em Criar para criar a nova versão. Quando criado, clique no link de liberação para exibir seu status.

    Release link.

    Depois de um tempo, a implantação deve ser bem-sucedida.

    Deployment succeeded for green site and production.

Testar o local verde e o local de produção

  1. Abra a folha para o grupo de recursos ASPDOTNET criado pela implantação do projeto no portal do Azure. Observe os nomes dos aplicativos Web que foram implantados. Clique para abrir a folha do aplicativo Web Preparo*. Copie o URL do lado superior esquerdo.

    Resource group and URL.

  2. Abra uma nova guia do navegador e navegue até o URL copiado. O aplicativo levará um pouco de tempo para compilar, mas então o site Verde (no slot de preparo) deve aparecer.

    Parts Unlimited site on staging.

Nota

Você pode saber que o slot de preparo está sendo usado devido ao sufixo -staging no URL do site.

  1. Abra outra nova guia do navegador e navegue até o mesmo URL, mas sem o slot -staging . O local de produção também deve estar funcionando.

    Production site.

Nota

Deixe ambas as janelas do navegador abertas para mais tarde no passo a passo.

Configurar a troca e a aprovação azul-verde

Agora que ambos os sites estão funcionando, vamos configurar o pipeline de liberação para implantação azul-verde.

  1. No Azure DevOps, no menu principal do projeto PU Hosted, clique em Pipelines, clique em Releases e clique em Edit para retornar ao modo de edição.

  2. Clique no estágio de produção , clique em Excluir e em Confirmar para removê-lo. Clique em +Adicionar para adicionar um estágio extra e clique em Trabalho vazio para o modelo. Defina Trocar Azul-Verde pelo Nome do palco.

    New swap blue-green stage.

  3. Clique em Variáveis e modifique o escopo de WebsiteName para liberar.

    Variable scope.

  4. Na lista suspensa Tarefas , clique para selecionar o estágio Trocar Azul-Verde . Clique no + lado direito de Trabalho do agente para adicionar uma nova tarefa. Na caixa Pesquisar, digite CLI.

    CLI search.

  5. Passe o cursor sobre o modelo da CLI do Azure e, quando o botão Adicionar aparecer, clique nele e clique para selecionar a tarefa da CLI do Azure para abrir seu painel de configurações.

    Azure CLI settings pane.

  6. Configure o painel da seguinte forma, com sua assinatura, um Local de Script do script Inline e o Script Inline:

    Az webapp deployment slot swap -g $(ResourceGroupName) -n $(WebsiteName) --slot Staging --target-slot production

    Azure CLI configured.

  7. No menu acima da lista de tarefas, clique em Pipeline. Clique no ícone Condições de pré-implantação para o estágio Trocar azul-verde e, em seguida, no painel Disparadores, habilite Aprovações de pré-implantação.

  8. Configure-se como aprovador, clique em Salvar e em OK.

    Approver enabled.

Teste a troca azul-verde

  1. No menu principal do PU Hosted, clique em Repositórios e, em seguida, clique em Arquivos para abrir os arquivos do projeto. Navegue até o arquivo a seguir.

    Index view code.

    Faremos uma alteração cosmética para ver se o site foi atualizado. Mudaremos a palavra pneus na rotação da página principal para pneus para atingir um público internacional.

  2. Clique em Editar para permitir a edição e, em seguida, localize a palavra pneus e substitua-a pela palavra pneus. Clique em Confirmar e Confirmar para salvar as alterações e acionar uma compilação e liberação.

Update tyres.

  1. No menu principal, clique em Pipelines e, em seguida, em Compilações. Aguarde até que a compilação de integração contínua seja concluída com êxito.

    Build succeeded.

  2. No menu principal, clique em Liberações. Clique para abrir a versão mais recente (no topo da lista).

    Approval required.

    Agora você está sendo solicitado a aprovar a troca de implantação para Produção. Primeiro, verificaremos a implantação verde.

  3. Atualize a guia do navegador Site verde (ou seja, Slot de preparo) e veja se a alteração apareceu. Agora mostra a palavra alterada.

    Green site updated.

  4. Atualize a guia Navegador do site de produção e observe que ela ainda não está atualizada.

    Production site unchanged.

  5. Como você está satisfeito com a alteração, em detalhes da versão, clique em Aprovar, depois em Aprovar e aguarde a conclusão do estágio.

    Swap completed.

  6. Atualize a guia Navegador do site de produção e verifique se ele agora tem o código atualizado.

    Production site updated.

Notas finais

Se você verificar o site verde, verá que ele tem a versão anterior do código.

É a diferença crítica com o Swap, em vez de apenas um processo de implantação típico de um site em estágios para outro. Você tem uma opção de fallback rápido trocando os sites de volta, se necessário.