Question — 7
Tags —
A automação de pipelines de CI/CD com GitHub Actions é uma prática moderna que acelera entregas, garante qualidade e reduz erros em projetos hospedados no Azure.
[GitHub Actions] — Conceito-chave: Pipeline de CI/CD para Azure
GitHub Actions permite criar fluxos de trabalho automatizados (workflows) que integram, testam e fazem deploy de aplicações diretamente a partir do repositório GitHub para o Azure, utilizando arquivos YAML versionados junto ao código.
O que é um pipeline de CI/CD com GitHub Actions?
Um pipeline de CI/CD (Integração Contínua e Entrega Contínua) automatiza etapas como build, testes, validação e deploy de aplicações. Com GitHub Actions, você define essas etapas em um arquivo .github/workflows/main.yml
(ou nome similar), especificando jobs, triggers e ações a serem executadas.
Por que usar GitHub Actions para deploy em Azure?
- Integração nativa: GitHub Actions possui ações oficiais para Azure, facilitando autenticação e deploy.
- Automação ponta a ponta: Desde o commit até o deploy, todo o fluxo é automatizado e auditável.
- Escalabilidade e flexibilidade: Suporta múltiplos ambientes, branches e estratégias de deploy (blue/green, canary, etc.).
- Segurança: Permite uso de secrets e integração com Azure para autenticação segura.
[GitHub Actions] — Pipeline de CI/CD para Azure - Exemplo prático
Suponha que você queira automatizar o deploy de uma aplicação Node.js para o Azure App Service. O pipeline pode ser definido assim:
name: CI/CD para Azure App Service
on:
push:
branches: [ main ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout do código
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Instalar dependências
run: npm install
- name: Rodar testes
run: npm test
- name: Build da aplicação
run: npm run build
- name: Login no Azure
uses: azure/login@v2
with:
creds: $
- name: Deploy para Azure App Service
uses: azure/webapps-deploy@v3
with:
app-name: 'meu-app-service'
slot-name: 'production'
package: '.'
Explicação dos principais pontos:
- O workflow é disparado a cada push na branch
main
. - O código é baixado, dependências instaladas, testes executados e a aplicação é buildada.
- O login no Azure é feito usando um secret seguro (
AZURE_CREDENTIALS
), geralmente criado via Azure Service Principal. - O deploy é realizado usando a ação oficial do Azure para App Service.
Esse padrão pode ser adaptado para outros tipos de aplicações e serviços Azure (Functions, Containers, Static Web Apps, etc.), promovendo entregas rápidas, seguras e auditáveis.