À retenir
- Le logiciel doit être en état de fonctionner à chaque instant.
- Réduit radicalement le stress et les risques liés aux mises à jour.
- Favorise des cycles de retours utilisateurs très courts.
La livraison continue est une approche de fabrication de logiciels qui garantit que le code est toujours prêt à être envoyé aux utilisateurs. Au lieu d'attendre des mois pour sortir une grosse mise à jour, l'équipe produit de petites améliorations régulières qui sont testées automatiquement, permettant ainsi de publier une nouvelle version de manière fiable et rapide à n'importe quel moment.
Étymologie
Traduction de l'anglais Continuous Delivery (souvent abrégé en CD). Ce concept a émergé avec le mouvement Agile et s'est structuré avec la culture DevOps dans les années 2010, s'opposant aux cycles de développement traditionnels très longs.
Exemples d'usage
- Une plateforme de streaming qui déploie des corrections de bugs chaque matin sans interrompre le service.
- Une application bancaire qui prépare une nouvelle fonctionnalité de virement, la teste entièrement, et attend simplement le feu vert de la direction pour l'activer.
Cas d'usage
Elle est utilisée principalement dans le développement d'applications web (SaaS), d'applications mobiles et de services cloud. C'est l'étape qui suit l'intégration continue (CI) dans ce qu'on appelle la « chaîne CI/CD ».
Bonnes pratiques
Il est essentiel d'avoir une automatisation totale des tests (unitaires, fonctionnels, sécurité). Une règle d'or est de traiter chaque modification de code comme si elle allait partir en production immédiatement : si un test échoue, la priorité absolue est de réparer le flux de livraison.
Synonymes
Antonymes
Conseil
Pour débuter, ne cherchez pas à tout automatiser d'un coup. Commencez par vous assurer que votre code est compilable et testé automatiquement sur un serveur séparé avant de songer à automatiser la livraison finale.
Questions fréquentes
Quelle est la différence avec le déploiement continu ?
Dans la livraison continue, la décision finale de mettre en ligne appartient à un humain (on clique sur un bouton). Dans le déploiement continu, tout est automatisé et le code part en production dès qu'il réussit les tests.
Faut-il être un expert pour s'y mettre ?
Le concept est simple, mais sa mise en œuvre demande de bons outils d'automatisation et une culture d'équipe rigoureuse.