Explorer l’intégration continue

Effectué

L’intégration continue (CI) est l’un des éléments DevOps les plus fondamentaux. Il favorise la collaboration, contribue à la détection précoce des problèmes de qualité du code et bénéficie du processus de développement simplifié. Il sert également de base à la livraison et au déploiement continus. En employant les pratiques CI, l’organisation décrite dans notre exemple de scénario sera en mesure d’éliminer l’effort manuel impliqué dans la création et le test de ses applications, ce qui permettra d’accélérer efficacement leur livraison à leurs utilisateurs. Pour vous aider à apprécier pleinement les avantages de l’intégration continue, nous les décrirons dans cette unité.

Qu’est-ce que l’intégration continue ?

L’intégration continue est le processus de génération et de test automatique des versions mises à jour des logiciels après des mises à jour individuelles du référentiel logiciel. En général, le modèle d’intégration implique que les développeurs soumettent leurs modifications dans des branches distinctes via des demandes de tirage. Les modifications sont soumises à un examen collectif et, en supposant que son résultat réussi, est fusionné dans la branche principale. Les événements de validation ou de fusion individuels peuvent être utilisés pour déclencher la génération et le test du code afin de s’assurer que les modifications proposées ou résultantes n’ont pas d’effets néfastes. Avec l’intégration continue en place, la génération et les tests sont entièrement automatisés.

Diagramme du flux d’intégration continue.

Cette automatisation est basée sur les définitions de build et de test créées par les développeurs et implémentées dans la plateforme d’hébergement du référentiel. Par exemple, GitHub offre à cet effet un flux de travail GitHub Actions, tandis qu’Azure DevOps s’appuie sur Azure Pipelines.



Quels sont les avantages de l’intégration continue ?

Les principaux avantages associés à l’intégration continue sont basés sur la stratégie générale shift-left, qui (comme vous le découvrirez plus loin dans ce module) influence également de nombreuses autres pratiques DevOps. Le principe de base est que plus il faut pour détecter un problème introduit par le biais d’une modification de code, plus il est coûteux et plus l’effort qu’il consomme pour le résoudre. Avec l’intégration continue, la génération et le test du code ont lieu dès que possible. Ils sont également implémentés de manière automatisée, ce qui augmente leur vitesse et leur fiabilité. L’intégration continue améliore la cohérence, ce qui garantit que les builds et les tests sont effectués de manière reproductible. Cette cohérence, à son tour, permet d’appliquer des normes de programmation, ce qui facilite la maintenance du code. Enfin, mais pas le moins, l’intégration continue fait généralement partie de la livraison continue, ce qui simplifie toute la gestion du cycle de vie des applications. La réduction de la surcharge associée à la maintenance des activités de génération, de test et de déploiement augmente la productivité globale des équipes de développement et d’exploitation, ce qui réduit le délai de commercialisation des produits logiciels.