Desenvolvimento 05 Jul 2026 • 11 min de leitura

CI/CD na prática: automatize o deploy do seu projeto

Tutorial passo a passo para configurar pipelines de integração e deploy contínuo usando GitHub Actions.

O que é CI/CD?

CI (Continuous Integration) é a prática de integrar código frequentemente num repositório partilhado, com testes automáticos.

CD (Continuous Delivery/Deploy) é o processo de entregar alterações de código para produção de forma automática e segura.

Porque automatizar?

  • Velocidade: Deploy em minutos, não em horas
  • Segurança: Testes automáticos antes de ir para produção
  • Consistência: Mesmo processo sempre que houver alteração
  • Confiança: Menos erros humanos

GitHub Actions: O tutorial

Passo 1: Criar o workflow

Crie o ficheiro .github/workflows/deploy.yml:

name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npm run build
      - run: npm run test

Passo 2: Adicionar testes

Certifique-se que o seu projeto tem testes configurados:

{
  "scripts": {
    "test": "vitest run",
    "build": "astro build"
  }
}

Passo 3: Deploy automático

Para Vercel, Railway ou Netlify, adicione o deploy step:

- name: Deploy to Vercel
  uses: amondnet/vercel-action@v25
  with:
    vercel-token: ${{ secrets.VERCEL_TOKEN }}
    vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
    vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}

Passo 4: Variáveis de ambiente

Configure os secrets no GitHub:

  1. Settings → Secrets and variables → Actions
  2. Adicione VERCEL_TOKEN, VERCEL_ORG_ID, VERCEL_PROJECT_ID

Boas práticas

  • Execute testes antes do deploy
  • Use branch protection no main
  • Implemente rollback automático
  • Notifique a equipa em caso de falha
  • Use cache de dependências

Conclusão

CI/CD não é um luxo — é uma necessidade. Comece simples e evolua o pipeline conforme o projeto cresce.

CI/CDGitHub ActionsDevOpsDeploy
Compartilhar:

Artigos Relacionados