1. Les trois degrés d’automatisation continue

L’abréviation CI/CD recouvre trois concepts progressifs :

+--------------------------------------------------------------------------------+
| Intégration Continue (CI)                                                      |
| Code -> Build -> Tests Unitaires -> Linting -> Tests d'Intégration             |
+--------------------------------------------------------------------------------+
| Livraison Continue (Continuous Delivery)                                       |
| CI + Packaging d'artefacts + Déploiement automatique en Staging -> [Clic Manuel] -> Production
+--------------------------------------------------------------------------------+
| Déploiement Continu (Continuous Deployment)                                     |
| CI + CD sans aucune intervention manuelle : Tout commit vert file en Production!|
+--------------------------------------------------------------------------------+

2. La règle du retour immédiat (Fast Feedback Loop)

Un pipeline de CI efficace doit rendre son verdict en moins de 5 à 10 minutes. Si un test échoue ou qu’un linter détecte une anomalie, le développeur est notifié instantanément et interrompt sa tâche courante pour réparer le pipeline :

« Ne laissez jamais la chaîne d’intégration au rouge. Un commit brisé bloque l’ensemble de l’équipe d’ingénierie. »

3. Stratégies de déploiement sécurisées sans interruption de service (Zero-Downtime)

  • Déploiement Rolling (Progressif) : Les instances ou conteneurs de l’ancienne version sont remplacés un par un par la nouvelle version derrière le répartiteur de charge.
  • Déploiement Blue-Green : Deux environnements de production identiques coexistent : l’un actif (Bleu), l’autre passif (Vert). La nouvelle version est déployée et validée sur l’environnement Vert, puis le routeur bascule 100% du trafic en une fraction de seconde vers le Vert. En cas de bogue inattendu, le retour arrière (Rollback) vers le Bleu est immédiat.
  • Déploiement Canary : La nouvelle version est d’abord routée vers un échantillon restreint d’utilisateurs (ex: 5%). Si les métriques d’erreurs restent stables, le flux est progressivement étendu à 100%.

Immutabilité des artefacts : L’image de conteneur ou le binaire testé et validé lors de la phase d’intégration doit être strictement identique à celui déployé en staging puis en production. Ne recompilez jamais un code entre deux environnements : faites voyager l’artefact unique !