automation
ci-cd
debian
devops
jenkins
tutos
Jenkins sur Debian 12
Installation de Jenkins sur Debian 12 Bookworm.
Composant
Version
Debian
12 Bookworm
Jenkins
LTS
Java
17
Durée estimée : 25 minutes
1. Prérequis Java
apt update
apt install -y openjdk-17-jdk
java -version
2. Installation Jenkins
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" > /etc/apt/sources.list.d/jenkins.list
apt update
apt install -y jenkins
systemctl enable --now jenkins
3. Firewall
ufw allow 8080 /tcp
ufw reload
4. Configuration initiale
# Mot de passe admin
cat /var/lib/jenkins/secrets/initialAdminPassword
Ouvrir http://IP:8080
Entrer le mot de passe
Installer plugins suggérés
Créer admin
5. Docker (optionnel)
apt install -y ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch= $( dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $( . /etc/os-release && echo " $VERSION_CODENAME " ) stable" > /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io
usermod -aG docker jenkins
systemctl restart jenkins
6. Pipeline exemple
pipeline {
agent any
stages {
stage ( 'Build' ) {
steps {
sh 'echo "Building..."'
}
}
stage ( 'Test' ) {
steps {
sh 'echo "Testing..."'
}
}
stage ( 'Deploy' ) {
steps {
sh 'echo "Deploying..."'
}
}
}
post {
always { cleanWs () }
}
}
7. Pipeline Docker
pipeline {
agent {
docker { image 'node:18-alpine' }
}
stages {
stage ( 'Build' ) {
steps {
sh 'npm install'
sh 'npm run build'
}
}
}
}
8. Credentials
withCredentials ([
usernamePassword (
credentialsId: 'my-creds' ,
usernameVariable: 'USER' ,
passwordVariable: 'PASS'
)
]) {
sh 'deploy.sh $USER $PASS'
}
9. Notifications
post {
failure {
mail to: 'team@example.com' ,
subject: "Failed: ${currentBuild.fullDisplayName}" ,
body: "Build failed: ${env.BUILD_URL}"
}
}
Comparatif Rocky vs Debian
Aspect
Rocky 9
Debian 12
Java
java-17-openjdk
openjdk-17-jdk
Repo key
rpm --import
apt keyrings
Firewall
firewalld
ufw
Commandes
# Status
systemctl status jenkins
# Logs
journalctl -u jenkins -f
# Mot de passe initial
cat /var/lib/jenkins/secrets/initialAdminPassword
# Redémarrer
systemctl restart jenkins
Changelog
Date
Modification
2024-12
Création initiale