L'intégration continue : qu'est-ce que c'est ?

Si vous faites des projets informatiques ou que vous êtes simplement passionné, vous avez probablement déjà rencontré la notion « d'intégration continue » ou de « continuous integration ». Process souvent utilisé lors du développement de nos projets, on v
Camille.jpg
Camille REGNAULT, L'animatrice du podcast ITMis à jour le 18 Juil 2019
définition intégration continue

Si vous faites des projets informatiques ou que vous êtes simplement passionné, vous avez probablement déjà rencontré la notion « dintégration continue » ou de « continuous integration ». Process souvent utilisé lors du développement de nos projets, on vous propose un tour dhorizon du sujet avec un de nos experts GitLabGitLab, c’est une plateforme permettant d’héberger et de gérer des projets web de A à Z..

L’intégration continue, c’est quoi ?

L’intégration continue (ou continuous integration) a pour but de mettre en place un processus de publication automatisé et simplifié, qui permet une livraison plus rapide dun logiciel aux utilisateurs finaux.

En d’autres termes, lintégration continue permet d’automatiser un certain nombre de tâches récurrentes (compilation, tests unitaires, tests d’intégration) et si on va un peu plus loin, de faire du déploiement sur les environnements de tests et de production.

Lintégration continue, le pipeline

Dans la pratique, lintégration continue cest ni plus ni moins quun pipeline, composé de différentes étapes. Voilà un pipeline classique (quon retrouve dans beaucoup de nos projets) :

  • 1 Phase de build : compilation de l’application pour un environnement
  • 2 Phase de tests : tests effectués de manière unitaire. Généralement, un test se résume à une ligne de commande. On laisse ensuite faire la librairie qui exécute tous les tests
  • 3 1ère livraison sur un environnement de test
  • 4 Réalisation dune batterie de tests qui viennent valider la livraison par rapport à votre cahier d’exigences
  • 5 Phase de livraison finale : livraison du projet sur un environnement de production.

Les principaux avantages à utiliser un outil d’intégration continue :

Utiliser un outil dintégration continue, cest aujourdhui un confort indispensable :

  • Gain de temps : tandis quavant on pouvait mettre plusieurs mois à pusher un projet en production (car il y avait des environnements hypra sécurisés et qu’il fallait décrire les procédures de 40 pages sur papier), on réduit cela à quelques poignées de minutes et à quelques clics. (quand cest bien fait, la livraison prend seulement le temps de créer un tag)
  • Fiabilité : éviter les actions manuelles entre les différents environnements pour limiter les erreurs. Ce serait dommage de mettre la production KO à cause dun oubli !
  • Simplicité : Le code est mis dans un pipeline, et avec de simples clics, on peut simplement passer dun environnement à lautre.
  • Prise en main du projet facilitée : Une fois que le process est bien mis en place, tout le monde peut facilement exécuter les livraisons ! Cest utile notamment lorsquun nouveau développeur arrive sur un projet et ne connaît pas parfaitement la stack applicative

Les principaux outils dintégration continue

Gitlab, Jenkins, Ansible, AzureAzure est la plateforme de Cloud de Microsoft. Devops il existe plusieurs solutions dintégration continue qui sont relativement similaires, même si de notre côté, on a une grosse préférence pour Gitlab ! Pour découvrir dans le détails ces solutions, cest par ici : les outils dintégration continue.

Comprendre larrivée de lintégration continue, un peu dhistoire

Avant l’intégration continue, cétait comment ?

Il y a toujours un avant ! Avant lintégration continue, cétait comment ? Dans un premier temps, l’application était testée et compilée sur notre poste. Ensuite, on copiait/collait la partie binaire de l’application (fichier war, jar, etc.) sur le serveur de production. À ce moment là, on croisait les doigts pour que ça marche Pas idéale comme solution !

Pourquoi est apparue lintégration continue ?

Lintégration continue a été créée pour pallier les problèmes des process précédents. Avant, les environnements nétaient pas symétriques, il y avait de grandes différences entre ce qu’on avait sur le poste de développement et ce qu’on avait sur l’environnement de production.

La professionnalisation du monde IT a aussi porté cette évolution ! Aujourdhui, cest fini léconomie des environnements Lorsquon développe un projet, on passe par plein d’environnements différents qui permettent de valider le code, le tester, vérifier si cela marchera bien avec les environnements de production, etc. La multiplication des environnements a largement complexifié la compilation des projets.

Lobjectif étant dautomatiser le processus de manière industrielle afin d’augmenter la qualité des livrables.

Combien y a-t-il d’environnements sur les projets dapplication actuellement ?

Il y a toujours au minimum 3 environnements dans les projets de développement : l’environnement de développement, l’environnement de test, l’environnement de production.

Sur les projets clients conséquents, il y a même plusieurs environnements de développement, plusieurs environnements de tests, des environnements de pré-production, puis un environnement de production. On peut facilement se retrouver avec 8 environnements à gérer.

Pour conclure

Lintégration continue, cest devenu un incontournable du monde du développement. Globalement, une solution dintégration continue peut être mise en place sur tous les projets alors on vous conseille de le faire pour tous vos nouveaux projets !