Nous allons installer Jenkins sur un VPS Ubuntu 24.
Mais tout d'abord laissez moi vous présenter Jenkins.
🛠 Qu’est-ce que Jenkins ?
Jenkins est un outil open-source qui aide les développeurs à automatiser certaines tâches dans le processus de création d’un logiciel.
Vous pouvez voir Jenkins comme un robot de chantier pour votre projet de code : il travaille en arrière-plan et fait automatiquement des choses comme :
- Lancer des tests à chaque modification du code
- Construire votre application (compiler, créer un package…)
- Déployer votre application sur un serveur ou un site web
- Vous prévenir s’il y a des erreurs
🔁 À quoi ça sert concrètement ?
Supposons que vous travaillez sur un site web. À chaque fois que vous modifiez le code :
- Jenkins détecte automatiquement la nouvelle version.
- Il exécute des tests pour s'assurer que tout fonctionne.
- Si tout est bon, il peut envoyer le site à la production (le mettre en ligne).
- Sinon, il t'envoie une alerte avec les erreurs.
💡 Pourquoi c’est utile ?
- Gain de temps : vous n’avez plus besoin de tout faire manuellement.
- Moins d’erreurs humaines : Jenkins suit toujours les mêmes étapes.
- Travail en équipe fluide : chaque membre peut coder sans casser le travail des autres.
Pré-requis
Avant de commencer, il faut une version de Java installé sur la machine:
sudo apt update
sudo apt install fontconfig default-jre
Une fois qu'on a installé Java , on va installer une LTS de Jenkins :
sudo wget -O /etc/apt/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc]" \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins
Une fois installé, on va créer un fichier service:
Dans /etc/systemd/system/jenkins.service , je mets ceci (fournit par Jenkins dans sa documentation):
# /etc/systemd/system/jenkins.service
#
# This file is managed by systemd(1). Do NOT edit this file manually!
# To override these settings, run:
#
# systemctl edit jenkins
#
# For more information about drop-in files, see:
#
# https://www.freedesktop.org/software/systemd/man/systemd.unit.html
#
[Unit]
Description=Jenkins Continuous Integration Server
Requires=network.target
After=network.target
[Service]
Type=notify
NotifyAccess=main
ExecStart=/usr/bin/jenkins
Restart=on-failure
SuccessExitStatus=143
# /etc/systemd/system/jenkins.service.d/override.conf
[Service]
Environment="JAVA_OPTS=-Djava.awt.headless=true"
Environment="JENKINS_PORT=8081"
Puis on peut rafraîchir tout ça avec:
sudo systemctl daemon-reload
# Puis lancer
sudo systemctl start jenkins
A partir de maintenant, on peut accèder à Jenkins via l'IP du serveur sur le port 8081 , mais je vous conseille de prévoir une redirection domaine depuis votre fournisseur.
En bonus, on va configurer Nginx pour Jenkins
Dans /etc/nginx/sites-available/jenkins.conf :
upstream jenkins {
server 127.0.0.1:8081;
}
server {
server_name <domain>;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://jenkins;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
error_page 404 /404.html;
location = /404.html {
internal;
}
}
Maintenant, on va cloner la conf pour activer le site sur Nginx:
cd /etc/nginx/sites-enabled
ln -s ../sites-available/jenkins.conf ./
C'est parti vous avez configuré Jenkins sur votre serveur !
Conclusion

Je vais pouvoir mettre en place des outils de déploiement et CI grâce à ce serveur.
On verra comment faire un pipeline dans un prochain article.