Implementar no Serviço de Aplicações

Concluído

Cada equipe de desenvolvimento tem requisitos exclusivos que podem dificultar a implementação de um pipeline de implantação eficiente em qualquer serviço de nuvem. O Serviço de Aplicativo oferece suporte à implantação automatizada e manual.

Implementação automatizada

A implantação automatizada, ou implantação contínua, é um processo usado para enviar novos recursos e correções de bugs em um padrão rápido e repetitivo com efeito mínimo sobre os usuários finais.

O Azure suporta a implementação automatizada diretamente a partir de várias origens. Também estão disponíveis as seguintes opções:

  • Serviços de DevOps do Azure: você pode enviar seu código por push para os Serviços de DevOps do Azure, criar seu código na nuvem, executar os testes, gerar uma versão do código e, finalmente, enviar seu código para um Aplicativo Web do Azure.
  • GitHub: o Azure suporta a implementação automatizada diretamente a partir do GitHub. Quando você conecta seu repositório do GitHub ao Azure para implantação automatizada, todas as alterações enviadas por push para sua ramificação de produção no GitHub são implantadas automaticamente para você.
  • Bitbucket: semelhante ao GitHub, pode configurar uma implementação automatizada com o Bitbucket.

Implementação manual

Existem algumas opções que pode utilizar para emitir manualmente o código para o Azure:

  • Git: Os aplicativos Web do Serviço de Aplicativo apresentam uma URL do Git que você pode adicionar como um repositório remoto. O envio por push para o repositório remoto implanta seu aplicativo.
  • CLI:webapp up é um recurso da interface de linha de az comando que empacota seu aplicativo e o implanta. Ao contrário de outros métodos de implementação, o az webapp up pode criar uma nova aplicação Web do Serviço de Aplicações por si, se ainda não tiver criado uma.
  • Zip deploy: use curl ou um utilitário HTTP semelhante para enviar um ZIP dos arquivos do seu aplicativo para o Serviço de Aplicativo.
  • FTP/S: FTP ou FTPS é uma maneira tradicional de enviar seu código para muitos ambientes de hospedagem, incluindo o Serviço de Aplicativo.

Usar slots de implantação

Sempre que possível, use slots de implantação ao implantar uma nova compilação de produção. Ao usar uma camada de Plano de Serviço de Aplicativo Padrão ou superior, você pode implantar seu aplicativo em um ambiente de preparo e, em seguida, trocar seus slots de preparação e produção. A operação de permuta aquece as instâncias de trabalho necessárias para corresponder à sua escala de produção, eliminando assim o tempo de inatividade.

Implante código continuamente

Se o seu projeto tiver ramificações designadas para teste, controle de qualidade e preparação, cada uma dessas ramificações deverá ser implantada continuamente em um slot de preparação. Isso permite que as partes interessadas avaliem e testem facilmente a ramificação implantada.

Implante contêineres continuamente

Para contêineres personalizados do Registro de Contêiner do Azure ou outros registros de contêiner, implante a imagem em um slot de preparo e troque para a produção para evitar tempo de inatividade. A automação é mais complexa do que a implantação de código porque você deve enviar a imagem para um registro de contêiner e atualizar a marca de imagem no webapp.

  • Criar e marcar a imagem: como parte do pipeline de compilação, marque a imagem com o ID de confirmação do git, carimbo de data/hora ou outras informações identificáveis. É melhor não usar a tag padrão "mais recente". Caso contrário, é difícil rastrear qual código está implantado atualmente, o que torna a depuração muito mais difícil.
  • Enviar a imagem marcada: Uma vez que a imagem é criada e marcada, o pipeline envia a imagem para o nosso registro de contêiner. Na próxima etapa, o slot de implantação extrairá a imagem marcada do registro do contêiner.
  • Atualizar o slot de implantação com a nova tag de imagem: quando essa propriedade for atualizada, o site será reiniciado automaticamente e extrairá a nova imagem de contêiner.