livraison-continue

La Livraison Continue (CD) est une pratique de développement logiciel où les changements de code sont automatiquement construits, testés et préparés pour la mise en production.

La Livraison Continue (CD) est une pratique d'ingénierie logicielle et un ensemble de principes axés sur l'automatisation du processus de publication des logiciels. Elle s'appuie sur l'Intégration Continue (CI) en garantissant que chaque changement de code qui réussit les tests automatisés est automatiquement préparé pour une publication en production. L'objectif est d'avoir un logiciel déployable disponible à tout moment. Dans un pipeline CD typique, le code est validé dans un système de contrôle de version, déclenchant une construction automatisée et une suite de tests complète (unitaires, d'intégration, de bout en bout). Si tous les tests réussissent, l'artefact (par exemple, une image de conteneur, un exécutable) est automatiquement déployé dans un environnement de staging ou de pré-production. À partir de ce point, une approbation manuelle ou une décision commerciale est généralement requise avant le déploiement final dans l'environnement de production. Cette pratique réduit considérablement le risque associé à la publication de logiciels, car chaque changement est petit, bien testé et facilement déployable. Elle permet aux organisations de publier des fonctionnalités plus rapidement, de réagir rapidement aux changements du marché et d'améliorer la qualité et la fiabilité globales du logiciel en rendant le processus de publication routinier et prévisible.

        graph LR
  Center["livraison-continue"]:::main
  Pre_logic["logic"]:::pre --> Center
  click Pre_logic "/terms/logic"
  Rel_cicd["cicd"]:::related -.-> Center
  click Rel_cicd "/terms/cicd"
  Rel_cicd_pipeline["cicd-pipeline"]:::related -.-> Center
  click Rel_cicd_pipeline "/terms/cicd-pipeline"
  Rel_continuous_integration["continuous-integration"]:::related -.-> Center
  click Rel_continuous_integration "/terms/continuous-integration"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Test de connaissances

1 / 3

🧒 Explique-moi comme si j'avais 5 ans

C'est comme avoir toujours tes devoirs bien organisés et prêts à être rendus, attendant juste que le professeur dise 'allez-y'.

🤓 Expert Deep Dive

La Livraison Continue représente l'avant-dernière étape d'un pipeline DevOps mature, reliant l'Intégration Continue et le Déploiement Continu. Alors que la CI se concentre sur l'intégration fréquente du code et la vérification de sa correction via des builds et des tests automatisés, la CD étend cela en garantissant que le code intégré est toujours dans un état publiable. Le pipeline implique généralement la création d'artefacts, le déploiement automatisé dans divers environnements non-production (par exemple, QA, UAT, Staging), et des tests de performance/sécurité. La principale différence avec le Déploiement Continu est l'introduction délibérée d'un verrou manuel avant la publication en production, permettant une validation commerciale, la coordination de tests A/B, ou des stratégies de déploiement progressif (canary release). Architecturalement, la CD repose fortement sur des outils CI/CD robustes (par exemple, Jenkins, GitLab CI, GitHub Actions), l'Infrastructure as Code (IaC), et les principes d'infrastructure immuable. Les compromis incluent une cadence de publication potentiellement plus lente par rapport au Déploiement Continu complet, mais elle offre un plus grand contrôle et une meilleure atténuation des risques pour les organisations ayant des exigences de publication complexes ou des contraintes réglementaires.

🔗 Termes associés

Prérequis:

📚 Sources