Processo de desenvolvimento para o Azure
Dica
Esse conteúdo é um trecho do livro eletrônico, para Projetar os Aplicativos Web Modernos com o ASP.NET Core e o Azure, disponível no .NET Docs ou como um PDF para download gratuito que pode ser lido offline.
"Com a nuvem, pessoas e pequenas empresas podem estalar os dedos e configurar serviços de nível empresarial instantaneamente."
- Roy Stephan
Visão
Desenvolva aplicativos ASP.NET Core bem projetados como desejar, usando o Visual Studio ou a CLI do dotnet e o Visual Studio Code ou seu editor escolhido.
Ambiente de desenvolvimento para aplicativos ASP.NET Core
Opções de ferramentas de desenvolvimento: IDE ou editor
Seja qual for sua preferência, um IDE avançado e completo ou um editor leve e ágil, a Microsoft oferece as ferramentas que você pode usar para desenvolver aplicativos ASP.NET Core.
Visual Studio 2022. O Visual Studio 2022 é o melhor IDE da categoria para desenvolver aplicativos para ASP.NET Core. Ele oferece uma série de recursos que aumentam a produtividade do desenvolvedor. É possível usá-lo para desenvolver o aplicativo e, em seguida, analisar o desempenho e outras características. O depurador integrado permite pausar a execução do código e avançar e retroceder no código durante a execução. O suporte para recargas dinâmicas permite continuar trabalhando com o aplicativo de onde parou, mesmo após fazer as alterações no código, sem precisar reiniciar o aplicativo. O executor de testes interno permite que você organize os testes e os resultados, além de poder realizar os testes de unidade dinâmicos enquanto estiver codificando. Usando o Live Share, você poderá colaborar em tempo real com outros desenvolvedores compartilhando a sessão de código diretamente pela rede. E, quando estiver pronto, o Visual Studio incluirá tudo o que precisar para publicar o aplicativo no Azure ou onde você puder hospedá-lo.
Visual Studio Code e CLI do dotnet (Ferramentas de plataforma cruzada para Mac, Linux e Windows). Se preferir um editor leve e multiplataforma compatível com qualquer linguagem de desenvolvimento, use o Microsoft Visual Studio Code e a CLI do dotnet. Esses produtos fornecem uma experiência simples mas robusta que simplifica o fluxo de trabalho do desenvolvedor. Além disso, o Visual Studio Code dá suporte a extensões para C# e desenvolvimento para a Web fornecendo o IntelliSense e as tarefas de atalho dentro do editor.
Fluxo de trabalho de desenvolvimento para aplicativos ASP.NET Core hospedados no Azure
O ciclo de vida de desenvolvimento do aplicativo começa no computador de cada desenvolvedor, codificando o aplicativo com sua linguagem preferencial e testando-o localmente. Os desenvolvedores podem escolher seu sistema de controle do código-fonte preferencial e podem configurar a CI (integração contínua) e/ou a CD (implantação/entrega contínua) usando um servidor de build ou com base em recursos internos do Azure.
Para começar a desenvolver um aplicativo ASP.NET Core usando a CI/CD, use o Azure DevOps Services ou o próprio TFS (Team Foundation Server) de sua organização. O GitHub Actions fornece outra opção para compilar e implantar aplicativos facilmente no Azure, para aplicativos que tenham o código hospedado no GitHub.
Instalação inicial
Para criar um pipeline de lançamento para seu aplicativo, você precisa ter o código do aplicativo no controle do código-fonte. Configure um repositório local e conecte-o a um repositório remoto em um projeto de equipe. Siga estas instruções:
Crie um Serviço de Aplicativo do Azure no qual você implantará o aplicativo. Crie um aplicativo Web acessando a folha Serviços de Aplicativos no Portal do Azure. Clique em +Adicionar, selecione o modelo de Aplicativo Web, clique em Criar e forneça um nome e outros detalhes. O aplicativo Web estará acessível em {name}.azurewebsites.net.
Figura 10-1. Criando um novo Aplicativo Web do Serviço de Aplicativo do Azure no Portal do Azure.
O processo de build de CI executará um build automatizado sempre que o novo código for confirmado no repositório de controle do código-fonte do projeto. Esse processo fornece o feedback imediato de que o código foi compilado (e, idealmente, passou em testes automatizados) e poderá ser implantado. Esse build de CI produzirá um artefato de pacote de implantação da Web e o publicará para consumo pelo processo de CD.
Definir o processo de build de CI
Lembre-se de habilitar a integração contínua para que o sistema coloque na fila um build sempre que alguém de sua equipe confirmar um novo código. Teste o build e verifique se ele está produzindo um pacote de implantação da Web como um de seus artefatos.
Quando um build for bem-sucedido, o processo de CD implantará os resultados do build de CI no aplicativo Web do Azure. Para configurar esta etapa você criará e configurará uma Versão, que será implantada no Serviço de Aplicativo do Azure.
Implantar um aplicativo Web do Azure
Após configurar o pipeline de CI/CD, você poderá fazer as atualizações no aplicativo Web facilmente e confirmá-las no controle do código-fonte para implantá-las.
Fluxo de trabalho de desenvolvimento para aplicativos ASP.NET Core hospedados no Azure
Depois de configurar sua conta do Azure e o processo de CI/CD, o desenvolvimento de aplicativos ASP.NET Core hospedados no Azure é simples. A seguir, são apresentadas as etapas básicas que você geralmente executará ao compilar um aplicativo ASP.NET Core, hospedado no Serviço de Aplicativo do Azure como um aplicativo Web, conforme ilustrado na Figura 10-2.
Figura 10-2. Fluxo de trabalho passo a passo para a criação de aplicativos ASP.NET Core e sua hospedagem no Azure
Etapa 1. Loop interno do ambiente de desenvolvimento local
O desenvolvimento de seu aplicativo ASP.NET Core para implantação no Azure não é diferente do desenvolvimento do aplicativo de outro modo. Use o ambiente de desenvolvimento local com o qual você está familiarizado, seja o Visual Studio 2019 ou a CLI do dotnet e o Visual Studio Code ou seu editor preferido. Você pode codificar, executar e depurar as alterações, executar testes automatizados e fazer confirmações locais no controle do código-fonte até que esteja pronto para enviar por push as alterações ao repositório de controle do código-fonte compartilhado.
Etapa 2. Repositório de código do aplicativo
Sempre que estiver pronto para compartilhar o código com sua equipe, envie por push as alterações do repositório de origem local para o repositório de origem compartilhado de sua equipe. Se você estiver trabalhando em um branch personalizado, esta etapa geralmente envolverá a mesclagem do código em um branch compartilhado (talvez por meio de uma solicitação de pull).
Etapa 3. Servidor de build: integração contínua. compilar, testar, agrupar
Um novo build é disparado no servidor de build sempre que uma nova confirmação é feita no repositório de códigos compartilhados do aplicativo. Como parte do processo de CI, esse build deve compilar o aplicativo por completo e executar testes automatizados para confirmar se tudo está funcionando conforme esperado. O resultado final do processo de CI deve ser uma versão empacotada do aplicativo Web, pronta para implantação.
Etapa 4. Servidor de build: entrega contínua
Depois que um build for bem-sucedido, o processo de CD selecionará os artefatos de build produzidos. Esse processo incluirá um pacote de implantação da Web. O servidor de build implantará esse pacote no Serviço de Aplicativo do Azure, substituindo o serviço existente pelo recém-criado. Normalmente, esta etapa é direcionada a um ambiente de preparo, mas alguns aplicativos são implantados diretamente em produção por meio de um processo de CD.
Etapa 5. Aplicativo Web do Serviço de Aplicativo do Azure
Depois de implantado, o aplicativo ASP.NET Core é executado dentro do contexto de um Aplicativo Web do Serviço de Aplicativo do Azure. Esse Aplicativo Web pode ser monitorado e configurado em mais detalhes por meio do Portal do Azure.
Etapa 6. Monitoramento de produção e diagnóstico
Durante a execução do Aplicativo Web, você pode monitorar a integridade do aplicativo e coletar dados de diagnóstico e de comportamento do usuário. O Application Insights é incluído no Visual Studio e oferece instrumentação automática para aplicativos ASP.NET. Ele pode fornecer informações sobre uso, exceções, solicitações, desempenho e logs.
Referências
Criar e implantar seu aplicativo ASP.NET Core no Azure
https://video2.skills-academy.com/azure/devops/build-release/apps/aspnet/build-aspnet-core