Sobes.tech
Junior

Qu'est-ce que le déploiement continu?

sobes.tech IA

Réponse de l'IA

Le déploiement continu (Continuous Deployment) est une stratégie de livraison logicielle dans laquelle chaque modification de code, ayant passé toutes les étapes du pipeline automatisé CI/CD (build, test), est déployée automatiquement en environnement de production sans intervention humaine.

Principales différences avec la Livraison Continue (Continuous Delivery) :

  • Livraison Continue : Les modifications sont prêtes à être déployées en production, mais le processus de déploiement nécessite un déclencheur explicite (généralement manuel).
  • Déploiement Continu : Les modifications sont déployées automatiquement en production après avoir passé tous les tests.

Avantages :

  • Lancement accéléré des fonctionnalités.
  • Cycle de rétroaction plus court.
  • Réduction du risque grâce à des changements fréquents et petits.
  • Correction rapide des erreurs en production.

Conditions nécessaires :

  • Niveau élevé d'automatisation des tests (unitaires, intégrés, d'acceptation).
  • Infrastructure fiable et déploiement automatisé.
  • Système de surveillance et de notification.
  • Capacité à revenir rapidement en arrière.

Exemple d'étapes dans le pipeline CI/CD avec déploiement continu :

  1. Le développeur committe du code dans VCS (Git).
  2. La compilation est déclenchée (Jenkins, GitLab CI, GitHub Actions).
  3. Des tests automatiques sont exécutés (unitaires, intégrés).
  4. Un artefact est créé (image Docker, paquet).
  5. L'artefact passe par la phase de test en environnement de staging.
  6. Après réussite de tous les tests, l'artefact est déployé automatiquement en production.
  7. Des vérifications post-déploiement sont effectuées (contrôles de santé, tests de fumée).
  8. La production est surveillée pour détecter erreurs et performances.

Cela nécessite une grande confiance dans les processus automatisés et une culture DevOps mature.