L’intégration continue et les outils de version de code

Bonjour, je m’appelle José et je travaille en tant que CTO, Directeur Technique chez Netdevices. Aujourd’hui je vais vous parler de l’intégration continue, des outils de versioning et de leur utilité dans la création d’applications ou logiciels.

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

Il y a tout d’abord une distinction à faire entre l’intégration continue et le déploiement continu.

L’intégration continue va d’un côté servir à compiler, tester et packager les applications de manière automatique. Elle va ainsi permettre de faciliter le processus de vérification du produit, à savoir si celui-ci correspond bien aux attentes de nos clients.

De l’autre côté le déploiement continu consiste à livrer les applications, toujours de manière automatique et continue, ce qui facilite la vie des développeurs.

L’intégration continue avec Jenkins

Jenkins est un outil d’intégration continue en open source. Il s’utilise aussi pour le déploiement continu. Cet outil va permettre d’automatiser la construction de l’application ainsi qu’un ensemble de tâches connexes telles que les tests unitaires (avec pour objectif de voir si le code s’exécute comme prévu). Il nous donne de plus la possibilité déployer l’application soit sur une plateforme d’essai, soit directement en production.

Notre intégration continue avec Jenkins s’appuie sur notre outil de versionning, GitLab, pour suivre les changements du code source et déclencher une nouvelle construction de l’application.

Les outils de versioning ? A quoi ça sert ?

Les outils de versioning vont structurer le workflow des développeurs. En effet, cela permet à une équipe de travailler sur différentes parties de l’application en parallèle tout en conservant l’historique des modifications. Ils vont ainsi permettre de mettre en avant les conflits.

Cependant une limite est à concevoir: ils ne peuvent en aucun cas définir la source du conflit. Il incombera donc aux développeurs de le résoudre.

C’est à ce moment qu’interviennent les outils d’intégration continue tels que Jenkins.

Le versioning avec Gitlab

Gitlab est un outil de gestion de version de code source, open source. Un équivalent de GitHub privé.

Il offre de multiples fonctionnalités telles que:

  • la gestion de versions de codes source et l’hébergement de projets web
  • la collaboration entre plusieurs développeurs sur un même projet
  • la création, gestion et classification des “issues” (tâches)

Une remarque: cet outil intègre de plus des fonctionnalités d’intégration continue (Gitlab CI).

NetDevices est une équipe composée de chefs de projets méthodiques, de développeurs geeks, d’intégrateurs / webdesigners, tous passionnés du développement web et des nouvelles technologies. Vous avez des projets digitaux? Nous donnons vie à vos ambitions et vous accompagnons dans tout le processus de transformation digitale.Avec nos solutions Web2Mobile, Sharry (market place mobile), et notre partenariat avec IBM, nous savons répondre à vos besoins du plus simple au plus complexe.