Pular para conteúdo

Qualidade em pipelines (quality gates)

Quality gates são critérios automáticos que impedem promoção de artefatos sem padrão mínimo de qualidade.

Conceito

Um gate deve responder objetivamente: “Pode avançar para o próximo estágio?”

Se a resposta for não, o pipeline falha cedo com evidência clara.

Exemplo de pipeline com gates

flowchart TD
    A[Commit/PR] --> B[Lint + Formatação]
    B --> C[Testes Unitários]
    C --> D[SAST + Dependências]
    D --> E[Testes de Integração + Contrato]
    E --> F[Build Artifact]
    F --> G[Deploy Staging]
    G --> H[Smoke + E2E crítico]
    H --> I[Gate de aprovação]
    I --> J[Deploy Produção]

Gates recomendados

Gate de código

  • Lint sem erros bloqueantes.
  • Convenções e padrões arquiteturais validados.

Gate de teste

  • Sucesso dos testes obrigatórios por categoria.
  • Limite aceitável de flaky tests (idealmente 0).
  • Tempo máximo por etapa para evitar backlog de PR.

Gate de segurança

  • Dependências com CVE crítico bloqueiam release.
  • Segredos hardcoded e imagens vulneráveis impedem promoção.

Gate de confiabilidade

  • Smoke tests pós-deploy obrigatórios.
  • Regras de rollback automático com métricas (erro, latência, saturação).

Métricas para governança

  • Lead time por PR.
  • Taxa de falha de pipeline por tipo de gate.
  • MTTR de falhas detectadas no pipeline.
  • Escape rate (bugs que chegaram em produção).

Boas práticas

  • Gates curtos em PR; profundos em main/release.
  • Mensagens de falha acionáveis (o que quebrou e como corrigir).
  • Revisão periódica dos gates para evitar burocracia improdutiva.