Testar grátis
6 min leitura Guide 84 of 877

Configurando Portões de Qualidade para Releases

Releasings sem verificações de qualidade levam a incidentes de produção, patches de emergência, e confiança erodida. Portões de qualidade criam checkpoints automatizados que garantem que cada release atenda seus padrões. O GitScrum integra com ferramentas CI/CD para impor portões e fornecer visibilidade de release.

Por Que Portões de Qualidade Importam

Sem PortõesCom Portões
"Funcionou na minha máquina"Verificado em ambiente CI
Bugs de produçãoCapturado antes do deploy
Patches de emergênciaReleases confiantes
Culpa e estresseQualidade sistemática
Releases inconsistentesProcesso repetível

Categorias de Portão de Qualidade

Tipos de Portão

CATEGORIAS DE PORTÃO DE QUALIDADE
═════════════════════════════════

AUTOMATIZADO (deve passar):
├── Todos testes passando
├── Cobertura de código ≥ threshold
├── Sem vulnerabilidades críticas
├── Linting passa
├── Build sucede
└── Benchmarks de performance atendidos

SEMI-AUTOMATIZADO (verificado + aprovado):
├── Scan de segurança revisado
├── Mudanças breaking documentadas
├── Mudanças de API aprovadas
├── Migrações de database testadas
└── Feature flags configuradas

MANUAL (aprovação humana):
├── Revisão de código completa
├── Sign-off QA
├── Aprovação stakeholder
├── Release notes revisadas
└── Plano de rollback confirmado

Configuração de Portão Padrão

PORTÕES DE QUALIDADE DE RELEASE
═══════════════════════════════

PORTÃO 1: BUILD
├── Código compila ✓
├── Dependências resolvem ✓
├── Artefato gerado ✓
└── Status: PASS/FAIL

PORTÃO 2: TEST
├── Testes unitários passam ✓
├── Testes de integração passam ✓
├── Cobertura ≥ 70% ✓
├── Sem regressão de teste ✓
└── Status: PASS/FAIL

PORTÃO 3: QUALIDADE
├── Portão SonarQube passa ✓
├── Sem novos issues críticos ✓
├── Complexidade dentro de limites ✓
├── Duplicação < 5% ✓
└── Status: PASS/FAIL

PORTÃO 4: SEGURANÇA
├── Scan SAST passa ✓
├── Scan de dependência passa ✓
├── Sem CVEs críticos ✓
├── Scan de secrets limpo ✓
└── Status: PASS/FAIL

PORTÃO 5: APROVAÇÃO
├── Revisão de código completa ✓
├── Sign-off QA ✓
├── Aprovação produto ✓
└── Status: PASS/FAIL

RELEASE: Todos portões VERDE = pode deploy

Dashboard de Release do GitScrum

Visão de Status de Portão

DASHBOARD DE PRONTIDÃO DE RELEASE
═════════════════════════════════

Release: v2.4.0
Branch: release/2.4.0
Target: 20 Março, 2024

┌─────────────────────────────────────────────────┐
│  PORTÕES DE QUALIDADE                           │
├─────────────────────────────────────────────────┤
│                                                 │
│  ✓ Build        ✓ Tests       ✓ Quality        │
│  passed 2m ago  98% pass      A rating         │
│                 87% coverage                    │
│                                                 │
│  ✓ Security     ⏳ Approval                     │
│  0 critical     2/3 complete                   │
│  3 medium       Missing: QA sign-off           │
│                                                 │
├─────────────────────────────────────────────────┤
│  Overall: BLOCKED (awaiting QA)                │
│  [View Details] [Request QA Review]            │
└─────────────────────────────────────────────────┘

Checklist de Release

TAREFA DE CHECKLIST DE RELEASE
══════════════════════════════

## Portões Automatizados
- [x] Pipeline de build passa
- [x] Testes unitários passam (236/236)
- [x] Testes de integração passam (42/42)
- [x] Threshold de cobertura atendido (87% ≥ 70%)
- [x] Portão de qualidade SonarQube passa
- [x] Scan de segurança limpo

## Verificações Manuais
- [x] Revisão de código aprovada (3 revisores)
- [x] Deployment de staging testado
- [ ] Sign-off QA pendente
- [x] Aprovação product owner

## Documentação
- [x] CHANGELOG atualizado
- [x] Guia de migração completo
- [x] Docs de API atualizados
- [x] Release notes rascunhados

## Deployment
- [ ] Feature flags configurados
- [ ] Plano de rollback documentado
- [ ] On-call confirmado
- [ ] Alertas de monitoramento definidos

Configuração de Portão

Configurações de Threshold

CONFIGURAÇÃO DE THRESHOLD DE QUALIDADE
══════════════════════════════════════

THRESHOLDS DE TESTE:
├── Cobertura mínima: 70%
├── Delta de cobertura: Sem decrease
├── Taxa de aprovação de teste: 100%
├── Tolerância de teste flaky: 0
└── Limite de tempo de teste: 30 min

THRESHOLDS DE QUALIDADE:
├── Rating de qualidade: A ou B
├── Novos issues: 0 crítico, 0 alto
├── Complexidade: Max 15 por função
├── Duplicação: < 5%
└── Dívida técnica: < 10 dias

THRESHOLDS DE SEGURANÇA:
├── Vulnerabilidades críticas: 0
├── Vulnerabilidades altas: 0
├── Médias: Revisão obrigatória
├── Baixas: Documentar e rastrear
└── Secrets: 0 detectados

Política de Bypass de Portão

GOVERNANÇA DE BYPASS DE PORTÃO
═══════════════════════════════

NUNCA BYPASS:
├── Segurança crítica (0 tolerância)
├── Falhas de build
├── Falhas críticas de teste
└── Detecção de secrets

PODE BYPASS COM APROVAÇÃO:
├── Cobertura ligeiramente abaixo do threshold
├── Issues de segurança médias (documentadas)
├── Testes flaky conhecidos
├── Issues de qualidade não-críticos
└── Requer: 2 aprovadores seniores

DOCUMENTAÇÃO DE BYPASS:
├── Razão para bypass
├── Avaliação de risco
├── Plano de remediação
├── Cadeia de aprovação
└── Timeline para correção

RASTREAMENTO:
├── Todos bypasses logados
├── Revisão mensal de bypass
├── Análise de tendência
├── Melhoria de processo

Integração CI/CD

Configuração de Pipeline

PORTÕES DE QUALIDADE EM CI/CD
═════════════════════════════

stages:
  - build
  - test
  - quality
  - security
  - approval
  - deploy

quality_gate_check:
  stage: quality
  script:
    - sonarqube-scan
    - check-quality-gate
  rules:
    - if: $CI_COMMIT_BRANCH =~ /^release\//
  allow_failure: false

security_gate_check:
  stage: security
  script:
    - dependency-scan
    - sast-scan
    - secret-scan
  rules:
    - if: $CI_COMMIT_BRANCH =~ /^release\//
  allow_failure: false

deploy_production:
  stage: deploy
  script:
    - deploy-to-production
  needs:
    - quality_gate_check
    - security_gate_check
    - manual_approval
  when: manual

Webhook do GitScrum

SINC DE PORTÃO GITSCRUM
═══════════════════════

CONFIGURAÇÃO DE WEBHOOK:
├── Endpoint: API de release GitScrum
├── Events: Conclusão de pipeline
├── Payload: Resultados de portão
└── Auth: Chave API

RESULTADOS DE SINC:
├── Status de portão atualizado no GitScrum
├── Checklist de release auto-checado
├── Notificações disparadas
├── Dashboard refreshed
└── Status de bloqueio atualizado

Melhores Práticas

Para Portões de Qualidade

  1. Comece com essenciais — Build, teste, segurança
  2. Automatize tudo possível — Portões manuais atrasam releases
  3. Processo de bypass claro — Apenas para verdadeiras emergências
  4. Feedback rápido — Portões devem executar em <15 min
  5. Status visível — Todos veem status de portão

Anti-Padrões

ERROS DE PORTÃO DE QUALIDADE:
✗ Portões manuais demais
✗ Fácil de bypass
✗ Portões que levam horas
✗ Sem rastreamento de bypass
✗ Portões ignorados em emergências
✗ Thresholds muito lenientes
✗ Sem notificação de falhas

Soluções Relacionadas