L'intégration continue (CI) permet aux développeurs de fusionner plus fréquemment leurs modifications de code dans une « branche » partagée, ou un « tronc », parfois même tous les jours. Une fois que les modifications apportées par un développeur sont fusionnées, elles sont validées par la création automatique de l'application et l'exécution de différents niveaux de test automatisés (généralement des tests unitaires et d'intégration) qui permettent de vérifier que les modifications n'entraînent pas de dysfonctionnement au sein de l'application.
En d'autres termes, il s'agit de tester absolument tout, des classes et fonctions jusqu'aux différents modules qui constituent l'application. En cas de détection d'un conflit entre le code existant et le nouveau code, le processus d'intégration continue permet de résoudre les dysfonctionnements plus facilement, plus rapidement et plus fréquemment.
Les valeurs ajoutées de l’Intégration Continue pour les entreprises de logicielles sont multiples. Tout d’abord il y a l’argument de la qualité qui est indéniable auprès des clients, mais aussi l’efficacité engendré par cette architecture car cela permet d’éviter de déployer des versions de logicielles contenant des erreurs, mais aussi de faciliter la relecture de code puisqu’elle est effectuée automatiquement (selon les paramètres de l’intégration continue).
Certes, la mise en place de cette architecture prend du temps, mais c’est un sacrifice nécessaire afin de suivre les bonnes pratiques et de profiter des avantages au long terme de l’Intégration Continue. Enfin, plus il y a de développeurs dans l’entreprise, plus les avantages de l’intégration continue sont notables.
Nom | Site officiel | Avantages | Désavantages | Prix |
---|---|---|---|---|
GitHub Actions | documentaton | Très facile à prendre en main, pas besoin d'installation | Nécéssite de d'utiliser GitHub comme dépôt de fichiers, peu personnalisable | Gratuit |
Gitlab CI | documentaton | Bonne interface graphique pour visualiser les tests | Problème de scalabilité | Gratuit |
Jenkins | Site vitrine | Open-source et compatible avec tous les OS, facile à installer | Moins complet que les autres outils | Gratuit |
Circle CI | documentaton | Privé et auto-scale, teste rapidement et très personnalisable | l'offre gratuite est moins bien efficace que les autres (1 job à la fois) | Freenium |
Ma veille technologique contient des articles, mais aussi des vidéos et des guides contenant des explications qui m’ont permis de mieux comprendre le concept, mais aussi de commencer à intégrer cette pratique au sein de mes projets afin d’apprécier les avantages et les inconvénients de l’Intégration continue.