5 min lectura • Guide 84 of 877
Configurando Quality Gates para Releases
Hacer releases sin verificaciones de calidad lleva a incidentes en producción, parches de emergencia y erosión de confianza. Los quality gates crean checkpoints automatizados que aseguran que cada release cumpla tus estándares. GitScrum se integra con herramientas de CI/CD para hacer cumplir gates y proporcionar visibilidad del release.
Por Qué Importan los Quality Gates
| Sin Gates | Con Gates |
|---|---|
| "Funcionaba en mi máquina" | Verificado en ambiente CI |
| Bugs en producción | Detectados antes del deploy |
| Parches de emergencia | Releases con confianza |
| Culpas y estrés | Calidad sistemática |
| Releases inconsistentes | Proceso repetible |
Categorías de Quality Gates
Tipos de Gates
CATEGORÍAS DE QUALITY GATES
═══════════════════════════
AUTOMATIZADO (debe pasar):
├── Todos los tests pasando
├── Cobertura de código ≥ umbral
├── Sin vulnerabilidades críticas
├── Linting pasa
├── Build exitoso
└── Benchmarks de performance cumplidos
SEMI-AUTOMATIZADO (verificado + aprobado):
├── Escaneo de seguridad revisado
├── Breaking changes documentados
├── Cambios de API aprobados
├── Migraciones de DB testeadas
└── Feature flags configurados
MANUAL (aprobación humana):
├── Code review completo
├── Sign-off de QA
├── Aprobación de stakeholder
├── Release notes revisados
└── Plan de rollback confirmado
Configuración Estándar de Gates
QUALITY GATES DE RELEASE
════════════════════════
GATE 1: BUILD
├── Código compila ✓
├── Dependencias resuelven ✓
├── Artefacto generado ✓
└── Estado: PASS/FAIL
GATE 2: TEST
├── Tests unitarios pasan ✓
├── Tests integración pasan ✓
├── Cobertura ≥ 70% ✓
├── Sin regresión de tests ✓
└── Estado: PASS/FAIL
GATE 3: CALIDAD
├── Gate de SonarQube pasa ✓
├── Sin nuevos issues críticos ✓
├── Complejidad dentro de límites ✓
├── Duplicación < 5% ✓
└── Estado: PASS/FAIL
GATE 4: SEGURIDAD
├── Escaneo SAST pasa ✓
├── Escaneo de dependencias pasa ✓
├── Sin CVEs críticos ✓
├── Escaneo de secrets limpio ✓
└── Estado: PASS/FAIL
GATE 5: APROBACIÓN
├── Code review completo ✓
├── Sign-off de QA ✓
├── Aprobación de producto ✓
└── Estado: PASS/FAIL
RELEASE: Todos los gates VERDE = puede deployar
Dashboard de Release en GitScrum
Vista de Estado de Gates
DASHBOARD DE PREPARACIÓN DE RELEASE
═══════════════════════════════════
Release: v2.4.0
Rama: release/2.4.0
Objetivo: 20 de Marzo, 2024
┌─────────────────────────────────────────────────┐
│ QUALITY GATES │
├─────────────────────────────────────────────────┤
│ │
│ ✓ Build ✓ Tests ✓ Calidad │
│ pasó hace 2m 98% pass Rating A │
│ 87% cobertura │
│ │
│ ✓ Seguridad ⏳ Aprobación │
│ 0 críticos 2/3 completo │
│ 3 medios Faltante: Sign-off de QA │
│ │
├─────────────────────────────────────────────────┤
│ General: BLOQUEADO (esperando QA) │
│ │
│ [Ver Detalles] [Notificar QA] │
└─────────────────────────────────────────────────┘
Historial de Gates
HISTORIAL DE QUALITY GATES:
┌─────────────────────────────────────────────────────────────┐
│ │
│ v2.4.0: │
│ ├── Intento 1 (Marzo 18): ❌ Tests fallaron │
│ ├── Intento 2 (Marzo 19): ❌ Cobertura insuficiente │
│ └── Intento 3 (Marzo 20): ✅ Todos los gates pasaron │
│ │
│ v2.3.0: │
│ └── Intento 1 (Marzo 5): ✅ Pasó a la primera │
│ │
│ v2.2.0: │
│ ├── Intento 1 (Feb 20): ❌ Vulnerabilidad de seguridad │
│ └── Intento 2 (Feb 21): ✅ Resuelto y pasó │
│ │
│ MÉTRICAS: │
│ • Tasa de éxito primera vez: 67% │
│ • Tiempo promedio para pasar: 1.5 días │
│ • Gate que más falla: Tests (40%) │
│ │
└─────────────────────────────────────────────────────────────┘
Configuración de Gates
Umbrales Personalizados
CONFIGURACIÓN DE UMBRALES:
┌─────────────────────────────────────────────────────────────┐
│ │
│ COBERTURA: │
│ ├── Mínimo global: 70% │
│ ├── Código nuevo: 80% │
│ └── Archivos críticos: 90% │
│ │
│ CALIDAD: │
│ ├── Rating mínimo: B │
│ ├── Issues críticos: 0 │
│ ├── Issues mayores nuevos: ≤ 5 │
│ └── Deuda técnica: no aumentar │
│ │
│ SEGURIDAD: │
│ ├── Vulnerabilidades críticas: 0 │
│ ├── Vulnerabilidades altas: 0 │
│ ├── Vulnerabilidades medias: ≤ 5 (con plan) │
│ └── Dependencias desactualizadas: ≤ 10 │
│ │
│ PERFORMANCE: │
│ ├── Tiempo de build: ≤ 10 min │
│ ├── Tiempo de tests: ≤ 30 min │
│ └── Bundle size: no aumentar > 5% │
│ │
└─────────────────────────────────────────────────────────────┘