Si vous souhaitez que votre équipe utilise la méthode agile d’in­té­gra­tion continue (IC), il est re­com­mandé d'uti­li­ser un outil IC simple mais puissant. Jenkins est cet outil : par­ti­cu­liè­re­ment par le biais de plugins, ce logiciel open source vous offre de nom­breuses pos­si­bi­li­tés pour rendre le processus d’in­té­gra­tion continue plus efficace.

Jenkins est basé sur Java et fonc­tionne donc sur toutes les pla­te­formes ima­gi­nables. Le logiciel étant livré avec Winston, un midd­le­ware de servlet, aucun autre serveur, tel que Tomcat, n'est né­ces­saire. Pour vous aider à bien tra­vail­ler avec Jenkins, laissez-nous d'abord vous expliquer comment installer et con­fi­gu­rer cor­rec­te­ment ce programme. Ensuite, nous vous ap­puie­rons sur un exemple pour vous montrer comment faire ses premiers pas avec un projet.

Ins­tal­la­tion du logiciel

Jenkins est dis­po­nible dans de nom­breuses versions : tout d'abord, vous pouvez opter pour une version heb­do­ma­daire, mise à jour par Jenkins toutes les semaines. Vous pouvez aussi opter pour la version Long Term Support (LTS) : une version stable est publiée tous les trois mois. Dans les deux cas, dif­fé­rentes versions s'offrent encore à vous : outre les packages d'ins­tal­la­tion pour les systèmes d'ex­ploi­ta­tion habituels (Windows, macOS, Ubuntu / Debian), une version pour Docker et une archive Web (.war) sont également dis­po­nibles.

Note

Dans notre exemple, nous utilisons l'ins­tal­la­teur Windows dans la version 2.121.1 (LTS) sous Windows 7. Si vous utilisez une version dif­fé­rente ou un système d'ex­ploi­ta­tion différent, le processus d'ins­tal­la­tion peut se présenter sous une autre forme. Jenkins étant basé sur Java, vous devez avoir installé une version récente de la tech­no­lo­gie Java.

Le programme d'ins­tal­la­tion Windows vous guidera tout au long de l'ins­tal­la­tion. Il vous suffit de spécifier le ré­per­toire d'ins­tal­la­tion souhaité et de démarrer l'ins­tal­la­tion.

Con­fi­gu­ra­tion de Jenkins

L'ins­tal­la­tion ne devrait prendre que quelques secondes. Im­mé­dia­te­ment après, le programme ouvre localhost:8080 dans votre na­vi­ga­teur par défaut. Cela donne accès à une interface Web, que vous pouvez utiliser pour con­fi­gu­rer Jenkins. Mais vous devez d'abord prendre une mesure de sécurité : Jenkins a généré un mot de passe aléatoire pour vous. Celui-ci se trouve dans le ré­per­toire Jenkins, dans le dossier Secrets et enfin dans le fichier ini­tia­lAd­min­Pass­word. Ce fichier peut être ouvert avec n'importe quel éditeur de texte. Copiez la chaîne de ca­rac­tères et collez-la dans la zone ad hoc de l'in­ter­face Web.

Main­te­nant, il est temps de con­fi­gu­rer Jenkins. L'as­sis­tant de con­fi­gu­ra­tion vous demandera si vous souhaitez choisir les plugins à installer ou si vous préférez utiliser le pa­ra­mé­trage par défaut intégrant déjà toutes les amé­lio­ra­tions majeures. Si vous utilisez Jenkins pour la première fois, ce choix par défaut vous con­vien­dra cer­tai­ne­ment. Et ne vous inquiétez pas : des plugins sup­plé­men­taires peuvent être fa­ci­le­ment installés plus tard.

Créez ensuite un premier uti­li­sa­teur. Si vous tra­vail­lez seul sur votre projet, vous pouvez ignorer cette étape et utiliser sim­ple­ment Jenkins en tant qu'ad­mi­nis­tra­teur. Dans les pa­ra­mètres de Jenkins, vous pourrez toujours créer ul­té­rieu­re­ment de nouveaux uti­li­sa­teurs avec des droits dif­fé­rents. Lors de la dernière étape de la con­fi­gu­ra­tion, vous avez encore la pos­si­bi­lité de spécifier une URL Jenkins. Le champ cor­res­pon­dant comporte par défaut localhost:8080. Si vous avez installé Jenkins sur un serveur (ce qui devrait être le cas dans un en­vi­ron­ne­ment de travail pro­fes­sion­nel), indiquez ici le bon chemin d'accès au ré­per­toire Jenkins. En­re­gis­trez les données saisies et terminez la con­fi­gu­ra­tion.

Conseil

Vous pourrez également définir des pa­ra­mètres sup­plé­men­taires plus tard, dans le menu de con­fi­gu­ra­tion de Jenkins.

Jenkins - In­tro­duc­tion à la méthode de travail

Vous démarrez Jenkins avec un en­vi­ron­ne­ment de travail com­plè­te­ment vide. Pour démarrer un nouveau projet d’in­té­gra­tion continue, vous devez créer un nouveau job. Pour ce faire, utilisez l’icône visible au milieu de la fenêtre (« create new jobs ») ou l’option de menu « New Item », que vous trouverez à gauche.

Ensuite, il est né­ces­saire de donner un nom à votre projet et de choisir ce que vous voulez atteindre :

  • Freestyle project : Jenkins associe la gestion des versions à un système de build.
  • Pipeline : créez un pipeline entre plusieurs agents de build.
  • Projet multi-con­fi­gu­ra­tion : Choi­sis­sez cette option si vous avez un projet qui nécessite une variété de pa­ra­mètres, par exemple parce que vous utilisez plusieurs en­vi­ron­ne­ments de test.
  • Folder : un dossier est un conteneur dans lequel vous pouvez stocker des objets imbriqués.
  • GitHub Or­ga­ni­za­tion : cette option fait une recherche dans tous les ré­fé­ren­tiels d'un compte sur GitHub.
  • Mul­ti­branch Pipeline : vous permet de créer di­rec­te­ment plusieurs pipelines.

Jenkins se concentre prin­ci­pa­le­ment sur les projets freestyle, c'est pourquoi nous en créerons un dans notre exemple.

À la page suivante, vous avez de nom­breuses options de pa­ra­mé­trage. Vous pouvez con­fi­gu­rer votre projet selon six ca­té­go­ries. Supposons que vous écriviez un programme en Java et que vous sou­hai­tiez utiliser l'in­té­gra­tion continue. Com­men­çons par la gestion du code source. Le programme donné en exemple se trouve dans un ré­fé­ren­tiel Git sur votre machine (il est également possible de connecter Jenkins à GitHub, par exemple). Veuillez indiquer le bon ré­per­toire sous « Git ». Vous pouvez également tra­vail­ler avec un dépôt Sub­ver­sion.

À l'étape suivante, sé­lec­tion­nez le Build Trigger. Cela dé­ter­mi­nera dans quelles si­tua­tions Jenkins devra effectuer un build. Ceci peut par exemple se faire par l’in­ter­mé­diaire d’un script spécial d'un autre programme, à la suite d’un autre build, ou pé­rio­di­que­ment à des in­ter­valles de temps spé­ci­fiques. Vous pouvez également dé­clen­cher un build ma­nuel­le­ment lorsque vous le souhaitez - ce que nous ferons dans notre exemple.

L'en­vi­ron­ne­ment de build, que Jenkins vous laissera con­fi­gu­rer par la suite, comprend d'autres options liées aux builds : une in­ter­rup­tion, par exemple, si le processus se bloque ? Ou l'af­fi­chage d'un ho­ro­da­tage (timestamp) dans la console ? Aucune option n'est obli­ga­toire.

Enfin, il s’agit du Build lui-même : ici, vous dé­ter­mi­nez comment votre programme doit être construit. Comme vous avez déjà intégré les con­nexions à Ant et Gradle via la sélection standard de plugins, vous pouvez choisir l'un de ces pro­grammes. Il est toutefois également possible d'uti­li­ser des commandes simples de type ligne de commande. Sé­lec­tion­nez l'option pour les commandes par batch et laissez votre programme se compiler :

javac MyProgram.java
java MyProgram

Après cela, Jenkins vous donne encore la pos­si­bi­lité d’exécuter des actions pos­té­rieures au build. Les tests sont par­ti­cu­liè­re­ment im­por­tants ici : connectez Jenkins à JUnit avec l’option « Publish JUnit test result report » pour intégrer les résultats du framework de test Java. Par ailleurs : Avec des plugins sup­plé­men­taires, vous pouvez également connecter Jenkins à d'autres en­vi­ron­ne­ments de test. Vous pouvez même ainsi laisser Jenkins exécuter des tests au­to­ma­tiques. Vous pouvez également vous informer et informer les autres sur le statut du build par courrier élec­tro­nique. Pour finir, sau­ve­gar­dez les in­for­ma­tions et créez votre premier job.

Conseil

Si vous souhaitez installer des plugins, le serveur Jenkins doit être redémarré. Vous pouvez le faire en vous dé­con­nec­tant puis en ajoutant sa­fe­Res­tart à l'URL dans la barre d'adresse du na­vi­ga­teur (par exemple, localhost:8080/sa­fe­Res­tart). Si vous vous re­con­nec­tez, vous pouvez confirmer que vous souhaitez re­dé­mar­rer.

Chaque projet a sa propre sous-page dans Jenkins. Ici, vous pouvez dé­clen­cher un build, modifier à nouveau les pa­ra­mètres et consulter le statut. Sur la page « Statut », Jenkins vous indique également l'his­to­rique des builds. Le dernier build a-t-il réussi ou non ? Jenkins indique par des points bleus que le build a réussi. Le rouge re­pré­sente une erreur qui doit être résolue im­mé­dia­te­ment, con­for­mé­ment aux principes de l'in­té­gra­tion continue. À cet endroit, vous verrez également quand un build est en cours. En cliquant sur le numéro de build, vous accédez à une page de détails où vous pouvez également afficher le contenu de la console.

Dans le tableau de bord de Jenkins, vous pouvez voir tous les projets sur lesquels vous tra­vail­lez. Ici aussi, le programme ma­té­ria­lise l'état du projet par une couleur. Vous obtenez également des in­for­ma­tions sur la Stabilité du build sous la forme d'un bulletin météo. Il s’agit d’une sta­tis­tique sur la stabilité moyenne des builds du projet. Si plus de 80 % de vos builds réus­sis­sent, vous verrez un soleil. En dessous de cette valeur, la météo sym­bo­lique se dégrade.

V568cAbz2ls.jpg Pour afficher cette vidéo, des cookies de tiers sont nécessaires. Vous pouvez consulter et modifier vos paramètres de cookies ici.
Note

Jenkins vous offre de nom­breuses autres façons d’adapter le programme à vos con­di­tions de travail, afin de sim­pli­fier votre processus d’in­té­gra­tion continue. Vous trouverez, en par­ti­cu­lier dans les nombreux plugins, une solution adaptée à la plupart des si­tua­tions.

Aller au menu principal