Comment Mettre en Place Jenkins sur Docker

Dans le monde du développement logiciel, l’automatisation est devenue une nécessité pour maintenir l’efficacité et la qualité. Jenkins est l’un des outils d’intégration continue les plus populaires, largement utilisé pour automatiser diverses tâches de développement et de déploiement. Docker, quant à lui, permet de containeriser des applications pour assurer leur portabilité et leur cohérence à travers différents environnements. Cet article va vous guider à travers les étapes nécessaires pour mettre en place Jenkins sur Docker, une combinaison puissante pour améliorer vos processus de développement.

Pré-requis

Avant de commencer, assurez-vous d’avoir les éléments suivants installés sur votre machine:

  • Docker: Vous pouvez télécharger et installer Docker depuis le site officiel.
  • Docker Compose (facultatif mais recommandé): Il simplifie la gestion des applications multi-conteneurs.

Étape 1 : Installation de Docker

Pour les utilisateurs de Windows et macOS, vous pouvez installer Docker Desktop. Pour Linux, suivez ces étapes :

bash

sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
« deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable »
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Vérifiez que Docker est correctement installé :

bash

docker --version

Étape 2 : Création d’un Dockerfile pour Jenkins

Un Dockerfile est un fichier texte contenant les instructions pour assembler une image Docker. Voici un exemple de Dockerfile pour Jenkins :

dockerfile

# Utiliser l'image officielle de Jenkins LTS
FROM jenkins/jenkins:lts
# Exposer le port 8080 pour Jenkins
EXPOSE 8080

# Exposer le port 50000 pour les agents Jenkins
EXPOSE 50000

Étape 3 : Création d’un fichier docker-compose.yml

Docker Compose vous permet de définir et de gérer des applications multi-conteneurs. Voici un exemple de fichier docker-compose.yml pour Jenkins :

yaml

version: '3.8'

services:
jenkins:
image: jenkins/jenkins:lts
ports:
« 8080:8080 »
« 50000:50000 »
volumes:
jenkins_home:/var/jenkins_home

volumes:
jenkins_home:

Étape 4 : Lancer Jenkins avec Docker Compose

Exécutez les commandes suivantes pour démarrer Jenkins :

bash

docker-compose up -d

Vérifiez que Jenkins fonctionne en accédant à http://localhost:8080 dans votre navigateur.

Étape 5 : Configuration initiale de Jenkins

  1. Débloquer Jenkins: Lors de la première connexion, vous devrez entrer un mot de passe administrateur temporaire. Récupérez-le avec la commande suivante :

bash

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
  1. Installer les plugins recommandés: Suivez l’assistant de configuration pour installer les plugins recommandés. Cela inclut des plugins pour Git, Maven, Gradle, et d’autres outils populaires.
  2. Créer le premier utilisateur administrateur: Suivez les étapes pour créer un utilisateur administrateur.

Étape 6 : Configuration des agents Jenkins

Jenkins fonctionne mieux avec des agents distribués pour répartir les charges de travail. Voici comment configurer un agent Docker :

  1. Créer une image d’agent Jenkins : Créez un Dockerfile pour l’agent Jenkins :

dockerfile

FROM jenkins/agent

USER root

RUN apt-get update && apt-get install -y maven

USER jenkins

  1. Construire et exécuter l’image d’agent :

bash

docker build -t jenkins-agent .
docker run -d --name jenkins-agent jenkins-agent
  1. Configurer l’agent dans Jenkins : Dans l’interface de Jenkins, allez dans Gérer Jenkins > Gérer les nœuds et les nuages > Nouveau nœud. Configurez les détails de l’agent en utilisant l’adresse IP ou le nom de conteneur approprié.

Étape 7 : Configuration des Jobs Jenkins

  1. Créer un nouveau job : Allez dans l’interface de Jenkins et cliquez sur Nouveau Item. Donnez un nom au job et sélectionnez Pipeline.
  2. Configurer le job : Dans la configuration du job, définissez le pipeline en utilisant le langage de script Jenkinsfile.

Exemple de Jenkinsfile pour un projet Maven :

groovy

pipeline {
agent any
stages {
stage(‘Build’) {
steps {
sh ‘mvn clean install’
}
}
stage(‘Test’) {
steps {
sh ‘mvn test’
}
}
stage(‘Deploy’) {
steps {
sh ‘mvn deploy’
}
}
}
}

Conclusion

Mettre en place Jenkins sur Docker offre une flexibilité et une portabilité exceptionnelles pour les développeurs et les équipes DevOps. En suivant les étapes décrites dans cet article, vous pouvez rapidement configurer un environnement d’intégration continue robuste et évolutif. Jenkins et Docker, combinés, permettent de simplifier le déploiement et la gestion des applications, tout en assurant une grande fiabilité et cohérence à travers différents environnements.

Dr Omar omari

Je suis Omar, fondateur de Voyage Voices. Avec des années d'expérience en croisière, je me consacre à vous guider à travers la vaste mer d'informations sur la croisière. Lorsque vous ne naviguez pas ou ne faites pas de recherche, je vous fournis des conseils fiables et à jour pour vous aider à créer l'expérience de croisière parfaite. Laissez-moi être votre boussole de confiance dans le monde des croisières.

Voir tous les articles de Dr Omar omari →

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *