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 :
| Caractéristique | Description | |
|
Outil open-source et flexible | Jenkins est entièrement open-source et gratuit. Son architecture modulaire repose sur des milliers de plugins, ce qui permet de l’adapter à presque tous les besoins. |
|
Automatisation et gain de temps | Jenkins automatise l’ensemble du cycle de développement, du build au déploiement, en réduisant les tâches manuelles répétitives. |
|
CI/CD | Jenkins est largement utilisé pour mettre en place des pipelines d’intégration et de livraison continues, afin de livrer du code plus rapidement et plus fiablement. |
|
Compatibilité multiplateforme | Jenkins peut être utilisé localement, via Docker, sur des serveurs on-premise ou dans le cloud, quel que soit l’environnement. |
|
Pipelines as code (Jenkinsfile) | Les pipelines CI/CD peuvent être définis dans un Jenkinsfile, facilitant la description des étapes, le versionnement et la collaboration entre équipes. |
|
Communauté et support | Jenkins bénéficie d’une communauté très active et d’un large écosystème de plugins, avec des solutions de support professionnel proposées par des tiers. |
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.

