Installer Jenkins sur un VPS Ubuntu

Comment installer Jenkins sur un VPS Ubuntu 24 pour mettre en place ses pipelines de CI/CD sur mesure.
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.

Alexandre P.
Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.
Poursuivre la lecture dans la rubrique System