Um bom pipeline dá feedback rápido a quem desenvolve e impede que problemas cheguem a produção. Estas são as etapas que recomendamos como base.
1. Build e testes
Compilação, testes unitários e de integração. Se falhar aqui, o resto nem começa. Use cache de dependências para manter o pipeline abaixo dos 10 minutos.
2. Análise estática e de segurança
- SAST: análise do código-fonte (Semgrep, CodeQL).
- SCA: vulnerabilidades em dependências (Dependabot, Trivy).
- Deteção de segredos: gitleaks ou trufflehog.
3. Imagem de container assinada
Construa a imagem uma única vez, analise-a e assine-a. O mesmo artefacto é promovido entre ambientes.
- name: Build & push
run: docker buildx build --push -t $IMAGE:$GITHUB_SHA .
- name: Scan
run: trivy image --exit-code 1 --severity HIGH,CRITICAL $IMAGE:$GITHUB_SHA
- name: Sign
run: cosign sign --yes $IMAGE@$DIGEST
4. Deploy via GitOps
Em vez de o pipeline aceder diretamente ao cluster, atualiza a tag da imagem no repositório de manifestos. O Argo CD ou o Flux tratam do resto, sem credenciais de produção no CI.
5. Verificação pós-deploy
Smoke tests, métricas e alertas. Com canary ou blue-green, o rollback pode ser automático.
Princípio de base: privilégio mínimo. Use OIDC para autenticar o pipeline na cloud em vez de chaves de longa duração.
Precisa de ajuda com isto?
Fale connosco para um orçamento ou uma análise da sua infraestrutura.