A implantação automatizada de recursos na nuvem tornou-se uma parte vital das operações de TI modernas. Usando ferramentas como o GitHub Actions para implantar recursos do Azure simplifica fluxos de trabalho, reduz erros manuais e acelera a entrega de projetos. Este artigo explora como implementar a implantação automatizada de recursos do Azure usando o GitHub Actions.

Compreender os princípios básicos

O GitHub Actions é uma plataforma de integração contínua e implantação contínua (CI/CD) que permite aos desenvolvedores automatizar fluxos de trabalho diretamente em seus repositórios do GitHub. O Azure, a plataforma de nuvem da Microsoft, oferece uma variedade de recursos, como Máquinas Virtuais, Bancos de Dados e Serviços de Aplicativos que podem ser fornecidos automaticamente através de scripts e APIs.

Pré-requisitos

  • Conta Azure com permissões necessárias
  • Repositório GitHub para o seu projeto
  • Azure CLI instalado localmente para configuração inicial
  • Diretor de Serviço com papel de Contribuinte atribuído em Azure

Configurar o Diretor de Serviço Azure

Primeiro, crie um Diretor de Serviço para permitir que as Ações GitHub se autenticem com o Azure. Use o CLI Azure:

Note abaixo o ]appId, ]senha, e separante. Estes serão adicionados como segredos no GitHub.

Configurar os Segredos do GitHub

Navegue para o seu repositório GitHub e depois vá para Configurações > Secrets > Actions. Adicione os seguintes segredos:

  • AZURE CLIENT ID: sua aplicação
  • AZURE SECRET: sua senha
  • AZURE TENANT ID: o seu inquilino
  • AZURE SUBSCRIPTION ID: o seu ID de subscrição

Criando o fluxo de trabalho das ações do GitHub

No seu repositório, crie um novo arquivo de fluxo de trabalho sob . Este arquivo definirá os passos para implantar recursos Azure automaticamente.

name: Deploy Azure Resources

on:
 push:
 branches:
 - main

jobs:
 build-and-deploy:
 runs-on: ubuntu-latest
 steps:
 - name: Checkout code
 uses: actions/checkout@v3

 - name: Login to Azure
 uses: azure/login@v1
 with:
 client-id: ${{ secrets.AZURE_CLIENT_ID }}
 client-secret: ${{ secrets.AZURE_SECRET }}
 tenant-id: ${{ secrets.AZURE_TENANT_ID }}

 - name: Deploy Resources
 run: |
 az account set --subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
 az deployment group create \
 --resource-group myResourceGroup \
 --template-file azuredeploy.json \
 --parameters @azuredeploy.parameters.json

Este fluxo de trabalho faz login no Azure e implementa recursos com base em seus modelos ARM. Você pode personalizar os comandos de implantação para atender às suas necessidades específicas de provisionamento de recursos.

Benefícios da implantação automatizada

  • Implementações consistentes e repetiveis
  • Aprovisionamento mais rápido dos recursos
  • Erros manuais reduzidos
  • Melhor colaboração e acompanhamento

A implementação de pipelines de implantação automatizados com o GitHub Actions e o Azure melhora significativamente suas práticas DevOps, garantindo gerenciamento confiável e eficiente de recursos na nuvem.