Qu'est-ce que CI/CD (intégration continue et livraison continue) ?

Nom regroupant l'intégration continue (CI), dans laquelle les développeurs fusionnent fréquemment leurs modifications dans une branche partagée et chaque fusion déclenche une compilation et des tests automatisés, et la livraison continue (CD), qui maintient les modifications testées prêtes à être mises en production à tout moment. Quand la mise en production elle-même est aussi automatisée, on parle de déploiement continu.

Nom japonais: CI/CD(継続的インテグレーション・継続的デリバリー)

« CI/CD (intégration continue et livraison continue) » apparaît dans 2 questions d'entraînement réparties sur 1 thèmes, dont Développement logiciel et gestion de projet.

Domaine: Développement logiciel et gestion de projet

S'entraîner : questions sur CI/CD (intégration continue et livraison continue)

Quelle description de l'intégration continue (CI) est correcte ?

  1. AÀ la fin du développement, on fusionne en une seule fois les modifications que chaque développeur a faites sur une longue période, et on effectue le test d'intégration d'un seul coup
  2. BLes développeurs fusionnent fréquemment (plusieurs fois par jour) leurs modifications dans une branche partagée, et à chaque fois une compilation et des tests automatisés sont exécutés pour détecter les problèmes tôt
  3. CLes modifications qui passent les tests sont mises en production automatiquement, sans aucune décision humaine
Afficher la réponse et l'explication

Réponse : B. Les développeurs fusionnent fréquemment (plusieurs fois par jour) leurs modifications dans une branche partagée, et à chaque fois une compilation et des tests automatisés sont exécutés pour détecter les problèmes tôt

Dans l'intégration continue, les modifications sont fusionnées par petites étapes fréquentes, et chaque fusion déclenche automatiquement sur un serveur une compilation et des tests comme les tests unitaires. Comme l'intervalle entre les fusions est court, les conflits entre modifications et les défauts peuvent être trouvés et corrigés pendant que leur cause est encore facile à voir. Un autre avantage est que le test de non-régression, qui réexécute tous les tests existants, peut être lancé automatiquement à chaque modification. Mettre automatiquement en production les modifications qui passent les tests relève du déploiement continu, une étape au-delà de la CI.

Quelle description de la différence entre livraison continue et déploiement continu est correcte ?

  1. ALa livraison continue désigne uniquement la fusion des modifications du code source dans une branche partagée et n'inclut ni compilation ni tests
  2. BDans le déploiement continu, une personne doit toujours approuver une version avant sa mise en production
  3. CLa livraison continue maintient le logiciel dans un état qui peut être mis en production à tout moment, et une personne décide quand le mettre en production ; le déploiement continu met automatiquement en production les modifications qui passent les tests
Afficher la réponse et l'explication

Réponse : C. La livraison continue maintient le logiciel dans un état qui peut être mis en production à tout moment, et une personne décide quand le mettre en production ; le déploiement continu met automatiquement en production les modifications qui passent les tests

Les deux font passer les modifications intégrées et testées par la CI dans une chaîne automatisée qui comprend des vérifications comme un environnement de préproduction. La livraison continue prépare automatiquement un état publiable, et une personne décide de le mettre ou non en production. Le déploiement continu automatise aussi cette dernière mise en production. L'idée et la culture dans lesquelles le développement et l'exploitation coopèrent pour livrer vite, en toute sécurité et de façon répétée, grâce à cette automatisation et aux retours de l'exploitation, s'appellent DevOps.

« CI/CD (intégration continue et livraison continue) » dans les explications

Questions mentionnant « CI/CD (intégration continue et livraison continue) » (2)

  1. Quelle description de l'intégration continue (CI) est correcte ?
  2. Quelle description de la différence entre livraison continue et déploiement continu est correcte ?

Termes associés

Test de non-régression Analyse des valeurs limites (boundary value analysis) Couverture des branches (couverture des décisions) Cycle en V (modèle en V) Développement agile Développement piloté par les tests (TDD) Gestion de la valeur acquise (EVM) Méthode du chemin critique (CPM) Modèle en cascade (waterfall) Partitionnement en classes d'équivalence (equivalence partitioning)

Retour au glossaire