Installer et Configurer Jenkins
Jenkins peut être installé directement sur un OS ou via Docker. La méthode Docker est la plus rapide pour démarrer.
Méthodes d'Installation
Option 1 — Jenkins via Docker (recommandé)
docker run -d \
-p 8080:8080 \ # Interface web Jenkins
-p 50000:50000 \ # Port communication agents
-v jenkins_home:/var/jenkins_home \ # Volume persistance données
--name jenkins \
jenkins/jenkins:lts
Ports :
8080: interface web (accès navigateur)50000: communication avec les agents Jenkins (workers)
Volume jenkins_home :
- Contient toute la configuration Jenkins, les jobs, les credentials
- Persiste les données même si le container est supprimé
Option 2 — Installation directe sur OS
Disponible pour Ubuntu, CentOS, Windows, macOS. Moins flexible que Docker, mais intégration système plus directe.
# Ubuntu — installer Jenkins
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo apt-get update && sudo apt-get install jenkins
sudo systemctl start jenkins
Premier Démarrage
Récupérer le mot de passe initial
# Avec Docker :
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
# Sur OS directement :
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Séquence de configuration initiale
1. Ouvrir http://localhost:8080
│
▼
2. Coller le mot de passe initial (initialAdminPassword)
│
▼
3. Choisir "Install suggested plugins"
(ou sélectionner manuellement)
│
▼
4. Créer le compte administrateur
(username, password, email)
│
▼
5. Configurer l'URL Jenkins
│
▼
6. Jenkins est prêt !
Installer les Outils de Build
Jenkins a besoin des outils (Maven, npm, Docker) pour exécuter les builds.
Méthode 1 — Plugins Jenkins (via interface)
Dans Manage Jenkins → Tools :
| Outil | Configuration |
|---|---|
| JDK | Nom + version Java à installer automatiquement |
| Maven | Nom + version Maven (ex: Maven 3.9.0) |
| NodeJS | Via plugin NodeJS → version npm/Node |
| Gradle | Nom + version Gradle |
Jenkins télécharge et installe l'outil automatiquement lors du premier build.
Méthode 2 — Installation directe dans le container
Si Jenkins tourne dans Docker, entrer dans le container et installer :
# Entrer dans le container Jenkins
docker exec -it jenkins bash
# Installer Node.js
curl -sL https://deb.nodesource.com/setup_18.x | bash -
apt-get install -y nodejs
# Vérifier
node --version
npm --version
Méthode 3 — Monter le socket Docker (pour builds Docker)
Pour que Jenkins puisse exécuter des commandes Docker :
docker run -d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \ # ← socket Docker hôte
jenkins/jenkins:lts
Le montage /var/run/docker.sock permet au container Jenkins d'utiliser le Docker de la machine hôte — Jenkins peut donc construire et pousser des images Docker.
Gestion des Credentials
Manage Jenkins → Credentials → System → Global credentials
Jenkins stocke les secrets de façon sécurisée :
| Type | Usage |
|---|---|
| Username + Password | Docker Hub, Nexus, registries |
| Secret text | Tokens API (GitHub, Slack) |
| SSH Username with private key | Accès serveurs distants |
| AWS Credentials | Access Key ID + Secret Access Key |
| Certificate | Keystores Java |
// Utiliser un credential dans un Jenkinsfile
withCredentials([usernamePassword(
credentialsId: 'docker-hub-credentials',
usernameVariable: 'USERNAME',
passwordVariable: 'PASSWORD'
)]) {
sh "docker login -u $USERNAME -p $PASSWORD"
}
Accès à l'Interface Jenkins
Pages clés
| URL | Rôle |
|---|---|
http://jenkins:8080/ | Tableau de bord (tous les jobs) |
http://jenkins:8080/manage | Administration |
http://jenkins:8080/job/<nom>/ | Détail d'un job |
http://jenkins:8080/job/<nom>/lastBuild/console | Logs du dernier build |
http://jenkins:8080/blue | Blue Ocean (interface moderne) |
À retenir
- 2 méthodes : Docker (
docker run jenkins/jenkins:lts) ou installation OS- Port
8080= interface web, port50000= agents Jenkins- Volume
jenkins_home= données persistantes (jobs, config, credentials)- Mot de passe initial :
/var/jenkins_home/secrets/initialAdminPassword- Outils de build : via Plugins Jenkins (recommandé) ou installation directe dans le container
- Docker socket : monter
-v /var/run/docker.sock:/var/run/docker.sockpour que Jenkins puisse builder des images Docker- Credentials : stocker les secrets dans Jenkins (jamais en clair dans le Jenkinsfile)