O Que É um Quality Gate?
Um quality gate é um checkpoint de aprovação/reprovação que impede uma alteração de avançar a menos que atenda a limiares definidos - cobertura, segurança ou resultados de testes.
O CI produz muitos sinais: resultados de testes, números de cobertura, achados de segurança. Um quality gate transforma esses sinais em uma decisão aplicável - ele impede uma alteração de ser mesclada ou implantada quando os sinais caem abaixo dos seus padrões.
O que um gate avalia
- Resultados de testes - todos os testes devem passar.
- Limiares de cobertura - sem queda abaixo de uma porcentagem definida.
- Achados de segurança - sem novas vulnerabilidades críticas ou altas.
Como os gates são aplicados
Um gate é uma verificação obrigatória: a branch protection ou uma condição de deploy se recusa a prosseguir a menos que a verificação passe. Isso torna o padrão inegociável em vez de meramente consultivo.
Um pequeno exemplo
Uma regra de branch protection que exige que as verificações "tests", "lint" e "coverage" passem significa que um pull request simplesmente não pode ser mesclado até que as três estejam verdes - o gate é aplicado pela plataforma, não pela disciplina do revisor.
Projetando bons gates
Aplique gate sobre deltas, não sobre absolutos, sempre que possível - "não piore a cobertura" é mais acionável do que um número genérico em uma base de código legada. Mantenha os gates rápidos e significativos para que protejam a qualidade sem se tornar um atrito que as pessoas contornam.
Evite a fadiga de gate
Um gate instável ou lento acaba sendo contornado ou aprovado sem análise. Mantenha os gates confiáveis e rápidos, e reserve bloqueios rígidos para coisas que realmente importam, para que um gate vermelho seja sempre um sinal real que vale a pena parar.
Principais conclusões
- Um quality gate bloqueia alterações que falham em limiares definidos.
- Gates comuns cobrem testes, cobertura e achados de segurança.
- Aplicar gate sobre deltas costuma ser mais prático do que limiares absolutos.