Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

PIC : plate-forme d'intégration continue. La livraison en continu

Article posté le 17-04-2015 dans la catégorie Java

Attention, le contenu cet article est peut-être obsolète!

Aujourd'hui le développement d'un projet à échelle industrielle nécessite l'utilisation d'outils de production adéquates. IDE puissant bien sûr, mais également solution pour la PIC (plate-forme d'intégration en continu) afin d'optimiser le processus de développement et de maintenir qualité, réactivité et rationnalité.

Voici donc un exemple de PIC, dans le cadre d'un projet Java.

A- Schéma

Plate-forme d'intégration continue

B- Explications

1- Le développeur code.

2- Quand il a besoin d'une dépendance tierce, il trouve le lien Maven correspondant à la dépendance souhaitée et le place dans la section <dependencies> du fichier pom.xml (Project Object Model) à la racine de son projet.

L'IDE va ainsi la récupérer automatiquement grâce à Maven : dans le dépôt privé de l'équipe de développement (3) ou sur le dépôt Maven publique accessible à tous sur Internet (4).

5- Le développeur déploie sur SVN (ou tout autre système de gestion de version).

6- Quand il juge avoir une version stable, le développeur lance un "build" via Jenkins. Ce dernier est un outil puissant: c'est un ordonnanceur permettant de compiler le Java en récupérant le code depuis SVN (7), tester la présence des dépendances... Il travaille de concert avec avec Maven (8) et Sonar (9). A présent parlons de Nexus : il s'agit d'un outil où l'on entrepose les divers dépendances. La première fois que l'on a besoin d'elle, une dépendance est téléchargée par Maven (10) et stockée dans Nexus (11).   

12- Le développeur consulte le rapport de Sonar pour améliorer son code.

Avantages :

- Vous pouvez créer des projets "parents" avec leur dépendances, dont les projets enfants hériteront (une sorte de factorisation des dépendances).

- Vous pouvez stocker, dans Nexus, plusieurs versions d'une dépendance sans problèmes.

Note : Jenkins est également utilisable, tout comme Sonar, dans d'autres languages!


Cet article vous a plu? Découvrez d'autres articles


Tweet
comments powered by Disqus