Introdução
A implantação contínua (CI/CD) é uma prática essencial no desenvolvimento de software moderno. Ela permite automatizar o processo de construção, teste e implantação de aplicativos, garantindo atualizações rápidas e confiáveis. Neste artigo, vamos explorar como configurar um pipeline de CI/CD para um aplicativo ASP.NET Core, usando o GitHub Actions e implantando-o no Serviço de Aplicativo do Azure.
O que é o GitHub Actions?
O GitHub Actions é um serviço de automação oferecido pelo GitHub para ajudar os desenvolvedores a automatizar seus fluxos de trabalho de desenvolvimento de software. Ele permite que você crie, teste e implante seu código diretamente no GitHub. O melhor de tudo é que o GitHub Actions é gratuito para repositórios públicos e oferece uma generosa quantidade de minutos de execução para repositórios privados.
Pré-requisitos
Antes de começarmos, certifique-se de ter o seguinte:
- Uma conta no GitHub.
- Um repositório contendo um aplicativo ASP.NET Core.
- Uma conta no Azure com acesso para criar um Serviço de Aplicativo.
Configurando o Pipeline
A seguir, veremos como configurar um pipeline de CI/CD para uma aplicação ASP.NET Core usando o GitHub Actions e implantá-la no Serviço de Aplicativo do Azure.
Etapa 1: Adicione um arquivo de configuração para o GitHub Actions
- Acesse o seu repositório no GitHub.
- No menu superior do seu repositório, clique na guia "Actions".
- Na página "Actions", você verá uma opção chamada "Set up a workflow yourself" no lado direito. Clique nela.
- Você será direcionado para um editor de código. Substitua todo o conteúdo por este código YAML de exemplo:
name: Publish
on:
workflow_dispatch:
push:
branches:
- main
env:
AZURE_WEBAPP_NAME: exemplo-api
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: '7.0.x'
- name: Restore
run: dotnet restore ./Exemplo/Exemplo.sln
- name: Build
run: dotnet build ./Exemplo/Exemplo.sln --configuration Release --no-restore
- name: Publish
run: dotnet publish ./Exemplo/Exemplo.sln --configuration Release --no-build --property PublishDir=${{env.DOTNET_ROOT}}/myapp
- name: Deployment
uses: azure/webapps-deploy@v2
with:
app-name: ${{ env.AZURE_WEBAPP_NAME }}
publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }}
package: ${{env.DOTNET_ROOT}}/myapp
Etapa 2: Configure o ambiente de implantação no Azure
No Portal do Azure, crie um Serviço de Aplicativo (Web App) onde você deseja implantar seu aplicativo ASP.NET Core. Como essa etapa não é o foco deste tutorial, deixarei alguns artigos de referência para ajudar nesse processo. Entretanto precisamos baixar o Perfil de Publicação para continuar a configuração no GitHub.
Para esta etapa, na página do Serviço de Aplicativo criado, no menu superior, clique em “Baixar Perfil de Publicação”. O perfil de publicação será baixado como um arquivo XML. Salve esse arquivo em um local seguro no seu computador.
Etapa 3: Configure o Perfil de Publicação no Github Secrets
Volte para o GitHub e acesse o seu repositório. Vá para as "Settings" (Configurações) do repositório e clique em "Secrets and variables" e depois em “Actions”. Adicione um novo segredo chamado AZURE_PUBLISH_PROFILE
e, como valor, insira o conteúdo do arquivo XML que você baixou (o conteúdo do perfil de publicação).
IMPORTANTE: Nunca compartilhe ou exponha o Perfil de Publicação do Azure publicamente. Ele contém informações sensíveis de autenticação e autorização que podem comprometer a segurança do seu aplicativo e dos seus recursos no Azure. Mantenha-o em um local seguro e restrito, acessível apenas para aqueles que realmente precisam dele para fins de implantação.
Etapa 4: Realizando o Deploy
Agora, com seu pipeline de CI/CD configurado, você pode monitorar seu funcionamento e fazer ajustes conforme necessário. O GitHub Actions se encarregará de construir, testar e implantar seu aplicativo no Azure sempre que houver um push na branch main
.
Na barra de navegação superior do repositório, você verá a guia "Actions". Clique nela para acessar a página de ações. Você verá uma lista de todos os workflows (fluxos de trabalho) configurados para esse repositório. Os workflows são organizados por nome e exibem o status atual de execução. Você verá informações como o nome do workflow, a data da execução mais recente e o status (por exemplo, sucesso, falha, em execução).
Para obter mais informações sobre uma execução específica, clique no número da execução na lista. Isso o levará a uma página com detalhes completos sobre a execução, incluindo logs de cada etapa executada. Dentro dos detalhes da execução, você pode acessar os logs de cada etapa individual do workflow. Isso permite que você veja informações detalhadas sobre o que aconteceu em cada etapa da execução.
No Azure, na página do Serviço de Aplicativo, é possível verificar o log de implantações. Para isso, acesse o menu "Centro de Implantação" e, em seguida, clique em "Logs".
Conclusão
Configurar um pipeline de CI/CD para um aplicativo ASP.NET Core com o GitHub Actions é uma maneira eficaz de automatizar o processo de construção, teste e implantação. Isso permite que você entregue atualizações mais rapidamente e com mais confiança. Com as configurações e ajustes corretos, você pode criar um fluxo de trabalho robusto que melhora a qualidade e a eficiência do seu desenvolvimento de software.
Lembre-se de que as configurações e os ambientes de implantação podem variar de acordo com suas necessidades específicas, mas este guia serve como um ponto de partida para configurar seu próprio pipeline de CI/CD com o GitHub Actions.
Top comments (0)