Pipeline de CI/CD com GitHub Actions
Crie um workflow do GitHub Actions para lint, testes, build e deploys por ambiente, com cache, segredos seguros e aprovação manual para produção. Pensado para ChatGPT, Claude e Microsoft Copilot. Inclui 7 variáveis personalizáveis e pode copiá-lo gratuitamente com um clique.
Intermédio · Código · Pendente de revisão editorial
Prompt
Age como um engenheiro DevOps especializado em GitHub Actions e em pipelines rápidos e seguros.
Projeto: {{project}}.
Stack e gestor de pacotes: {{stack}}.
Comandos atuais: lint `{{lint_cmd}}`, testes `{{test_cmd}}`, build `{{build_cmd}}`.
Destino do deploy: {{deploy_target}}.
Estratégia de branches: {{branching}}.
Entrega, por esta ordem:
1. Um diagrama em texto do pipeline: que jobs correm em pull requests, em pushes para a branch principal e em tags de release, e quais correm em paralelo.
2. O ficheiro `.github/workflows/ci.yml` completo, com:
- `concurrency` para cancelar execuções desatualizadas.
- Cache de dependências e versões das actions fixadas (idealmente por SHA).
- `permissions` de privilégio mínimo por job.
- Matriz de versões apenas onde acrescente valor.
- O artefacto de build enviado e reutilizado pelo job de deploy.
3. Um workflow ou job de deploy que use `environments` (staging e produção), aprovação manual para produção e autenticação OIDC em vez de chaves de longa duração quando o fornecedor o suportar.
4. A lista de segredos e variáveis necessários e onde os configurar. Nunca escrevas valores reais: usa [PREENCHER].
5. Regras de proteção de branches recomendadas e verificações obrigatórias.
6. Como reduzir o tempo do pipeline e como fazer rollback.
Restrições:
- Comenta as partes não óbvias do YAML.
- Se algum detalhe do deploy não estiver claro, pergunta-me em vez de assumires.Como utilizar
- Copie os comandos reais que executa localmente para lint, testes e build.
- Diga onde faz o deploy (Vercel, AWS, um VPS, Fly.io…).
- Guarde o YAML em
.github/workflows/e adicione os segredos em Settings → Secrets and variables. - Abra um pull request de teste para verificar o pipeline antes de ativar a proteção de branches.
Exemplo de utilização
Projeto: API Node.js com PostgreSQL · Stack: Node 22 com pnpm · Deploy: contentor na AWS ECS · Branches: main e branches de funcionalidades.
Exemplo de resultado
1. Diagrama
PR ──► lint ─┐
├─► build (imagem Docker)
PR ──► test ─┘
push main ──► lint + test ─► build ─► deploy staging ─► [aprovação] ─► deploy produção
2. .github/workflows/ci.yml (excerto dos jobs)
jobs:
test:
runs-on: ubuntu-latest
permissions:
contents: read # privilégio mínimo
services:
postgres: # base de dados descartável só para os testes
image: postgres:16
env: { POSTGRES_PASSWORD: postgres }
ports: ['5432:5432']
options: --health-cmd pg_isready --health-interval 5s --health-retries 10
steps:
- uses: actions/checkout@v4 # fixar por SHA: [PREENCHER]
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with: { node-version: 22, cache: pnpm }
- run: pnpm install --frozen-lockfile
- run: pnpm lint
- run: pnpm test
env:
DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres
- run: pnpm build
- uses: actions/upload-artifact@v4 # reutilizado pelo job de deploy
with: { name: dist, path: dist/ }
A autenticação na AWS será feita por OIDC (id-token: write só no job de deploy) com uma role IAM: ARN da role [PREENCHER], região [PREENCHER], nomes do cluster e do serviço ECS [PREENCHER]…
Dados-chave
- Categoria
- Programação e desenvolvimento · DevOps
- Tipo de resultado
- Código
- Nível
- Intermédio
- Pensado para
- ChatGPT, Claude e Microsoft Copilot
- Verificado em
- Pendente de verificação editorial
- Variáveis
- Projeto, Stack e gestor de pacotes, Comando de lint, Comando de testes, Comando de build, Destino do deploy e Estratégia de branches
- Idioma
- Português
- Preço
- Gratuito, sem registo
- Atualizado
- 07/11/2026
Perguntas frequentes
Porquê fixar as actions por SHA?
Uma etiqueta como v4 pode ser movida para apontar para código diferente. Fixar o SHA protege-o de alterações inesperadas ou de uma action comprometida. O Dependabot pode manter esses SHA atualizados por si.
O que é o OIDC e porque devo usá-lo?
Permite que o GitHub peça credenciais de curta duração ao seu fornecedor de cloud em cada execução, para que nunca guarde chaves de acesso permanentes como segredos do repositório.
Para que serve este prompt?
Crie um workflow do GitHub Actions para lint, testes, build e deploys por ambiente, com cache, segredos seguros e aprovação manual para produção.
Com que ferramentas de IA funciona?
Foi pensado para ChatGPT, Claude e Microsoft Copilot. Ainda não o verificámos nestas ferramentas, pelo que os resultados podem variar entre elas.
Como personalizo o prompt?
Clique em “Personalizar” e preencha as variáveis (Projeto, Stack e gestor de pacotes, Comando de lint, Comando de testes, Comando de build, Destino do deploy e Estratégia de branches). O texto atualiza-se instantaneamente e pode depois copiá-lo com um clique. Os valores ficam guardados apenas no seu navegador.
Preciso de experiência para o utilizar?
É de nível intermédio: convém conhecer o tema para fornecer bom contexto e rever o resultado com sentido crítico.
Este prompt é gratuito?
Sim. Todos os prompts do HomeCasa Prompts são gratuitos, sem registo nem subscrição. Pode também utilizá-los em projetos profissionais.
Posso confiar no resultado da IA?
Trate-o como um rascunho de qualidade: verifique sempre os dados, os números e as afirmações importantes antes de publicar ou tomar decisões.