Introduction
Jenkins est une application puissante qui permet de réaliser une intégration continue et une livraison continue des projets, quelle que soit la plate-forme sur laquelle vous travaillez. C'est une source gratuite et open source qui peut gérer tout type de build ou d'intégration continue. Vous pouvez intégrer Jenkins à un certain nombre de technologies de test et de déploiement. Dans ce tutoriel, nous allons apprendre comment utiliser Jenkins pour créer et tester vos projets logiciels en continu. Ce qui est bein utile dans des gestions de projet agile de type SCRUM. Jenkins est un logiciel qui permet une intégration continue. Il sera installé sur un serveur où la compilation des projets aura lieu. Les étapes suivant illustre un flux de travail très simple du fonctionnement de Jenkins :
Etape 1 : Les développeurs vérifient leur code source.
Etape 2 : Jenkins va récupérer le code source modifié et déclencher tous les tests requis.
Etape 3 : Le résultat de la compilation sera accesible depuis le tableau de bord de Jenkins. Des notifications automatiques peuvent être envoyés aux développeur.
On peut voir la plupart du temps l'outil Hudon associé à Jenkins. Hudson était un outil d'intégration continue Java open-source très populaire développé par Sun Microsystems qui a ensuite été acquis par Oracle. Après l'acquisition de Sun par Oracle, un fork a été créé à partir du code source d'Hudson, et ce fork a donné naissance à Jenkins.
Qu’est-ce que l’intégration continue?
L'intégration continue est une pratique de développement qui oblige les développeurs à intégrer du code dans un référentiel partagé à intervalles réguliers. Ce concept vise à supprimer la recherche de problèmes ultérieures dans le cycle de vie de la compilation d'un projet. L'intégration continue nécessite que les développeurs effectuent des compilations fréquentes. La pratique courante est que chaque fois qu'un code est validé, une compilation de ce même code doit être déclenchée.
La configuration requise
JDK | JDK 1.5 ou suppérieur |
Mémoire vive | 2 GB RAM Recommandé |
Espace disque | Aucune exigence minimale. Notez que puisque toutes les compilations seront stockées sur les machines Jenkins, il faut s’assurer que suffisamment d’espace disque est disponible pour le stockage de ces projets compilés. |
Système d’exploitation | Jenkins peut être installé sur Windows, Ubuntu/Debian, Red Hat/Fedora/CentOS, Mac OS X, openSUSE, FreeBSD, OpenBSDn et Gentoo. |
Conteneur Java | Le fichier WAR peut être exécuté dans n’importe quel conteneur prenant en charge Servlet 2.4 / JSP 2.0 ou version supérieur (par exemple, Tomcat 5). |
Télécharger Jenkins
Le site officiel de Jenkins est https://www.jenkins.io/ . En cliquant sur le lien donné, vous pouvez obtenir la page d'accueil du site officiel de Jenkins comme indiqué ci-dessous :

Par défaut, la dernière version de support à long terme (Long-Term support release) est disponibles au téléchargement. Les versions précédentes sont également disponibles en téléchargement. IL faut donc cliquer sur l'onglet version du support à long terme dans la section de téléchargement de Jenkins(Long-Term support release).

Installer Jenkins sur un serveur GNU/Linux Debian
Dans l’exemple suivant nous allons utiliser le war Jenkins e non le système de packaging du Système Gnu\Linux Debian.
Etape 1- Installer java
sudo apt update sudo apt install default-jdk java -version
Etape 2- Installer Jenkins
sudo sudo adduser bagetuser --system --no-create-home cd /usr/local/bin sudo mkdir jenkins sudo chown jenkins:$USER -R /usr/local/bin/jenkins sudo chmod 770 -R /usr/local/bin/jenkins cd /usr/local/bin/jenkins wget https://get.jenkins.io/war-stable/2.263.1/jenkins.war
Etape 3 – Tester que le serveur interne à jenkins(winston) fonctionne en le lançant sur le port 7171.
java -jar jenkins.war --httpPort=7171
Etape 4- Créer le service Jenkins
sudo nano /etc/systemd/system/jenkins.service sudo mkdir -p /home/jenkins/.jenkins sudo chown jenkins:$USER -R /home/jenkins/.jenkins sudo chmod 770 -R /home/jenkins/.jenkins
[Unit] Description=Jenkins service [Service] WorkingDirectory=/home/christophe/.jenkins ExecStart=/usr/bin/java -jar /usr/local/bin/jenkins/jenkins.war --httpPort=7171 Restart=always # Restart service after 10 seconds if the java service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=java-jenkins User=jenkins [Install] WantedBy=multi-user.target
Enregistrez le fichier et activez le service :
sudo systemctl enable jenkins.service
Se connecter à Jenkins
Taper l’url suivante https://jenkins.brachet-christophe.fr/login?from=%2F , vous devriez avoir accès la page suivante vous demandant de taper le login de l’administrateur:

On récupère le mot de passe depuis le fichier : /home/jenkins/.jenkins/secrets/initialAdminPassword
sudo less /home/jenkins/.jenkins/secrets/initialAdminPassword