Implantar no Serviço de Aplicativo
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 dá suporte tanto à implantação automatizada quanto manual.
Implantação automatizada
Implantação automatizada, ou implantação contínua, é um processo usado para enviar por push novos recursos e correções de bug em um padrão rápido e repetitivo com impacto mínimo sobre os usuários finais.
O Azure dá suporte à implantação automatizada diretamente de várias fontes. As seguintes opções estão disponíveis:
- Azure DevOps Services: você pode enviar seu código por push para o Azure DevOps Services, compilar seu código na nuvem, executar os testes, gerar uma versão do código e, por fim, enviar por push seu código para um Aplicativo Web do Azure.
- GitHub: O Azure dá suporte à implantação automatizada diretamente do GitHub. Quando você conectar o repositório GitHub ao Azure para implantação automática, todas as alterações enviadas por push para o branch de produção no GitHub serão implantadas automaticamente para você.
- Bitbucket: Assim como o GitHub, você pode configurar uma implantação automatizada com o Bitbucket.
Implantação manual
Há algumas opções que podem ser usadas para efetuar push do código manualmente 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 comandoaz
que empacota seu aplicativo e o implanta. Ao contrário de outros métodos de implantação,az webapp up
poderá criar um novo aplicativo Web do Serviço de Aplicativo para você, se você ainda não tiver criado um. - Implantação de zip: use
curl
ou um utilitário HTTP semelhante para enviar um zip de seus arquivos de aplicativo para o Serviço de Aplicativo. - FTP/S: FTP ou FTPS é uma maneira tradicional de efetuar push do código para muitos ambientes de hospedagem, incluindo o Serviço de Aplicativo.
Usar slots de implantação
Sempre que possível, use os slots de implantação ao implantar um novo build de produção. Ao usar uma camada de Plano do Serviço de Aplicativo Padrão ou melhor, você pode implantar seu aplicativo em um ambiente de preparo e trocar seu preparo e slot de produção. A operação de troca ativa as instâncias de trabalho necessárias para corresponder à escala de produção, eliminando assim o tempo de inatividade.
Código de implantação contínua
Se o projeto tiver branches designados para teste, garantia de qualidade e de preparo, cada um desses branches deverá ser implantado continuamente em um slot de preparo. Isso permite que seus participantes avaliem e testem facilmente o branch implantado.
Contêineres de implantação contínua
Para contêineres personalizados do Registro de Contêiner do Azure ou de outros registros de contêiner, implante a imagem em um slot de preparo e troque para produção a fim de evitar o tempo de inatividade. A automação é mais complexa do que a implantação de código, pois você deve enviar por push 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 build, marque a imagem com a ID de confirmação do git, o carimbo de data/hora ou outras informações identificáveis. É melhor não usar a marca padrão "mais recente". Caso contrário, é difícil fazer o rastreamento do código que está implantado no momento, o que torna a depuração muito mais difícil.
- Efetuar push da imagem marcada: Depois que a imagem é criada e marcada, o pipeline envia a imagem por push para o registro de contêiner. Na próxima etapa, o slot de implantação vai efetuar pull da imagem marcada do registro de contêiner.
- Atualizar o slot de implantação com a nova marca de imagem: Quando essa propriedade for atualizada, o site reiniciará e efetuará pull da nova imagem de contêiner automaticamente.