Jenkins : Qu’est-ce que c’est ? Comment s’en servir ?

-
3
 m de lecture
-

Jenkins est un serveur d’automatisation open-source largement utilisé pour le développement, les tests et le déploiement continus des applications. Il permet d’automatiser les tâches répétitives et de faciliter l’intégration du code au sein d’un projet, garantissant ainsi une meilleure productivité et une réduction des erreurs humaines. Avec une architecture modulaire et une grande quantité de plugins, Jenkins s’intègre facilement avec des outils populaires.

Qu'est-ce que le CI/CD ?

CI/CD pour « Continuous Integration / Continuous Delivry » ( intégration continue / déploiement continu) est une pratique de développement visant à automatiser les étapes du cycle de vie d’une application. Elle permet de réduire les erreurs humaines, d’accélérer les délais de livraison et d’améliorer la qualité des applications.

  • L’intégration continue (CI) permet aux développeurs d’envoyer fréquemment du code dans un dépôt partagé. Jenkins s’assure automatiquement que chaque modification est compilée, testée et validée avant d’être intégrée au projet principal.
  • Le déploiement continu (CD) une fois le code validé, il est automatiquement mis à disposition pour le déploiement, qu’il s’agisse d’un environnement de test, de préproduction ou de production.

Pourquoi utiliser Jenkins ?

Jenkins est très populaire pour automatiser les tâches répétitives et faciliter le travail des développeurs et des équipes DevOps. Voici les principales raisons qui font de Jenkins un choix incontournable : 

Outil open-source et flexible

Jenkins est totalement open-source, ce qui signifie qu’il est gratuit et bénéficie d’une communauté active qui contribue constamment à son amélioration. 

Son architecture modulaire repose sur des milliers de plugins qui permettent de l’adapter à n’importe quel besoin.

Automatisation et gain de temps

Jenkins permet d’automatiser l’ensemble du cycle de développement, du build initial jusqu’au déploiement final. Il peut exécuter des tâches complexes sans intervention humaine, ce qui permet aux équipes de se concentrer sur l’écriture du code et l’innovation plutôt que sur des processus manuels répétitifs.

Intégration continue et livraison continue (CI/CD)

Jenkins est l’un des outils les plus utilisés pour mettre en place des pipelines CI/CD. Ces pipelines permettent d’intégrer, tester et livrer du code plus rapidement et de manière plus fiable.

Compatibilité avec toutes les plateformes

Jenkins est multiplateforme. Il peut être installé localement, exécuté dans un conteneur Docker, déployé sur des serveurs on-premise ou hébergé dans le cloud. Cette flexibilité permet aux équipes de l’utiliser dans des infrastructures variées, quel que soit leur environnement de travail.

Gestion avancée des pipelines avec Jenkinsfile

Avec Jenkins, il est possible de définir les pipelines CI/CD sous forme de code grâce à un fichier appelé Jenkinsfile. Ce fichier permet de :

  • Décrire précisément les étapes du pipeline (build, tests, validation, déploiement).
  • Versionner et partager facilement la configuration du pipeline.
  • Faciliter la collaboration entre les équipes DevOps et les développeurs.

Une communauté active et un support étendu

En tant que projet open-source mature, Jenkins dispose d’une immense communauté qui contribue à son amélioration et propose régulièrement des mises à jour et de nouveaux plugins. 

Pour les entreprises ayant besoin d’un support avancé, plusieurs services tiers proposent également des solutions commerciales basées sur Jenkins.

Installation et configuration

Jenkins est un outil puissant mais simple à installer. Ce guide explique comment installer Jenkins sur Linux, ainsi que sa configuration initiale pour bien démarrer.

Installation

1. Tout d'abord, il est nécessaire d'ajouter le dépôt Jenkins et de mettre à jour les paquets :

sudo apt update && sudo apt install -y fontconfig openjdk-17-jre
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update

2. L'installation de Jenkins se fait ensuite de la manière suivante :

sudo apt install -y jenkins

3. Démarrer le service Jenkins et vérifier son statut :

sudo systemctl start jenkins
sudo systemctl status jenkins

4. Accéder à son interface web :

Elle est disponible ici par défaut : http://localhost:8080.

Si vous préférez une installation via Docker, alors la commande est la suivante :

docker run -p 8080:8080 -p 50000:50000 -d --name jenkins jenkins/jenkins:lts

Configuration initiale

Lors du premier accès à Jenkins, un mot de passe initial sera demandé. Il est disponible via cette commande :

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

À noter que vous serez ensuite à même de créer de nouveaux utilisateurs et modifier le compte administrateur.

Ensuite, quelques plugins peuvent s’avérer indispensables, notamment : 

  • Pipeline : pour gérer les workflows CI/CD.
  • Git : pour l’intégration avec des dépôts GitHub/GitLab/Bitbucket.
  • Docker : si tu veux exécuter des builds dans des conteneurs.
  • Blue Ocean : une interface plus moderne pour gérer les pipelines.

Création du premier job

Dans l’interface Jenkins, sélectionnez New Job. Après lui avoir donné un nom, sélectionnez Projet Freestyle

Ajoutez ensuite un dépôt dans Source code Management, par exemple https://github.com/dst-project.git

Ajoutez un simple script shell pour tester, par exemple :

echo "Build en cours..."
mvn clean package

Après avoir sauvegarder, cliquez sur Run build pour voir Jenkins effectuer les actions.

Pour conclure

Jenkins est un outil d’intégration et de déploiement continus très important. Sa flexibilité, son écosystème riche en plugins et sa communauté active en font une solution de choix pour les équipes souhaitant accélérer et fiabiliser leurs cycles de développement.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?