6 min lecture • Guide 84 of 877
Configurer les Quality Gates pour les Releases
Releaser sans vérifications de qualité mène à des incidents de production, des patches d'urgence et une confiance érodée. Les quality gates créent des points de contrôle automatisés qui garantissent que chaque release répond à vos standards. GitScrum s'intègre avec les outils CI/CD pour appliquer les gates et fournir une visibilité sur les releases.
Pourquoi les Quality Gates Comptent
| Sans Gates | Avec Gates |
|---|---|
| "Ça marchait sur ma machine" | Vérifié en environnement CI |
| Bugs en production | Détectés avant déploiement |
| Patches d'urgence | Releases confiantes |
| Blâme et stress | Qualité systématique |
| Releases incohérentes | Processus répétable |
Catégories de Quality Gates
Types de Gates
CATÉGORIES DE QUALITY GATES
═══════════════════════════
AUTOMATISÉ (doit passer) :
├── Tous les tests passent
├── Couverture de code ≥ seuil
├── Pas de vulnérabilités critiques
├── Linting passe
├── Build réussit
└── Benchmarks de performance atteints
SEMI-AUTOMATISÉ (vérifié + approuvé) :
├── Scan de sécurité revu
├── Breaking changes documentés
├── Changements API approuvés
├── Migrations de base de données testées
└── Feature flags configurés
MANUEL (approbation humaine) :
├── Code review complet
├── Sign-off QA
├── Approbation parties prenantes
├── Notes de release revues
└── Plan de rollback confirmé
Configuration Standard des Gates
QUALITY GATES DE RELEASE
════════════════════════
GATE 1 : BUILD
├── Code compile ✓
├── Dépendances résolues ✓
├── Artifact généré ✓
└── Statut : PASS/FAIL
GATE 2 : TEST
├── Tests unitaires passent ✓
├── Tests d'intégration passent ✓
├── Couverture ≥ 70% ✓
├── Pas de régression de test ✓
└── Statut : PASS/FAIL
GATE 3 : QUALITÉ
├── SonarQube gate passe ✓
├── Pas de nouveaux problèmes critiques ✓
├── Complexité dans les limites ✓
├── Duplication < 5% ✓
└── Statut : PASS/FAIL
GATE 4 : SÉCURITÉ
├── Scan SAST passe ✓
├── Scan de dépendances passe ✓
├── Pas de CVE critiques ✓
├── Scan de secrets propre ✓
└── Statut : PASS/FAIL
GATE 5 : APPROBATION
├── Code review complet ✓
├── Sign-off QA ✓
├── Approbation produit ✓
└── Statut : PASS/FAIL
RELEASE : Tous les gates VERTS = peut déployer
Tableau de Bord Release GitScrum
Vue Statut des Gates
TABLEAU DE BORD PRÉPARATION RELEASE
═══════════════════════════════════
Release : v2.4.0
Branche : release/2.4.0
Cible : 20 Mars 2024
┌─────────────────────────────────────────────────┐
│ QUALITY GATES │
├─────────────────────────────────────────────────┤
│ │
│ ✓ Build ✓ Tests ✓ Qualité │
│ passé il y a 98% passent Rating A │
│ 2 min 87% couv. │
│ │
│ ✓ Sécurité ⏳ Approbation │
│ 0 critique 2/3 complet │
│ 3 moyens Manquant : sign-off QA │
│ │
├─────────────────────────────────────────────────┤
│ Global : BLOQUÉ (en attente QA) │
│ [Voir Détails] [Demander Revue QA] │
└─────────────────────────────────────────────────┘
Checklist de Release
TÂCHE CHECKLIST RELEASE
═══════════════════════
## Gates Automatisés
- [x] Pipeline de build passe
- [x] Tests unitaires passent (236/236)
- [x] Tests d'intégration passent (42/42)
- [x] Seuil de couverture atteint (87% ≥ 70%)
- [x] Quality gate SonarQube passe
- [x] Scan de sécurité propre
## Vérifications Manuelles
- [x] Code review approuvé (3 reviewers)
- [x] Déploiement staging testé
- [ ] Sign-off QA en attente
- [x] Approbation product owner
## Documentation
- [x] CHANGELOG mis à jour
- [x] Guide de migration complet
- [x] Docs API mis à jour
- [x] Notes de release rédigées
## Déploiement
- [ ] Feature flags configurés
- [ ] Plan de rollback documenté
- [ ] On-call confirmé
- [ ] Alertes de monitoring définies
Configuration des Gates
Paramètres de Seuils
CONFIGURATION DES SEUILS DE QUALITÉ
═══════════════════════════════════
SEUILS DE TESTS :
├── Couverture minimum : 70%
├── Delta de couverture : Pas de baisse
├── Taux de réussite tests : 100%
├── Tolérance tests flaky : 0
SEUILS DE QUALITÉ :
├── Rating minimum : B
├── Nouveaux bugs : 0
├── Nouvelles vulnérabilités : 0
├── Nouveaux code smells : < 10
└── Duplication : < 5%
SEUILS DE SÉCURITÉ :
├── Vulnérabilités critiques : 0
├── Vulnérabilités hautes : 0
├── Vulnérabilités moyennes : < 5
└── Dépendances obsolètes : action requise
Gestion des Urgences
Bypass d'Urgence
PROCESSUS BYPASS D'URGENCE
══════════════════════════
QUAND UTILISER :
├── Incident de production
├── Vulnérabilité de sécurité active
├── Perte de revenus
└── Décision documentée requise
PROCESSUS :
1. Documenter la raison de l'urgence
2. Obtenir approbation d'un senior/lead
3. Merger avec gates réduits
4. Créer une tâche de suivi
5. Revue post-mortem
AUDIT TRAIL :
├── Qui a approuvé le bypass
├── Pourquoi c'était nécessaire
├── Quels gates ont été sautés
└── Actions de suivi prises
Meilleures Pratiques
Règles d'Or
- Automatisez au maximum : Réduire les gates manuels
- Seuils réalistes : Ambitieux mais atteignables
- Pas d'exceptions silencieuses : Tout bypass est documenté
- Améliorez les gates : Itérez basé sur les incidents
- Visibilité : Statut des gates visible à tous