Qu'est-ce que Jenkins ?

Le 5 septembre 2022
jenkins devops

Si vous êtes nouveau dans le monde du développement logiciel, vous avez peut-être entendu parler de Jenkins. Jenkins est un outil open-source qui permet d’automatiser le processus de compilation, de test et de déploiement de logiciels. Dans cet article, nous allons expliquer ce qu’est Jenkins et comment l’utiliser pour automatiser le déploiement d’une application web.

Qu’est-ce que Jenkins ?

Jenkins est un outil d’intégration continue qui permet d’automatiser les tâches répétitives liées au développement logiciel. Avec Jenkins, vous pouvez créer des pipelines d’intégration continue qui automatisent la compilation, les tests et le déploiement de votre application. Cela permet d’accélérer le processus de développement, d’améliorer la qualité du code et de réduire les erreurs humaines.

Comment utiliser Jenkins pour déployer une application web ?

Pour illustrer l’utilisation de Jenkins, nous allons prendre l’exemple d’une application web simple. Cette application est composée de fichiers HTML, CSS et JavaScript, et elle est hébergée sur un serveur web Apache.

  • Étape 1 : Installer Jenkins

    La première étape consiste à installer Jenkins sur votre machine de développement. Jenkins est un outil open-source, vous pouvez donc le télécharger gratuitement à partir de leur site web officiel. Une fois installé, vous pouvez accéder à l’interface utilisateur de Jenkins via votre navigateur web.

  • Étape 2 : Configurer Jenkins

    Avant de créer un pipeline pour votre application web, vous devez configurer Jenkins pour qu’il puisse accéder aux fichiers de votre application et aux outils nécessaires à sa compilation et à son déploiement. Vous pouvez configurer Jenkins via son interface utilisateur en ajoutant des plugins et en configurant des paramètres tels que les chemins d’accès et les identifiants de connexion.

  • Étape 3 : Créer un pipeline Jenkins

    Une fois que Jenkins est configuré, vous pouvez créer un pipeline pour votre application web. Un pipeline est un ensemble d’étapes qui automatisent le processus de compilation, de test et de déploiement de votre application. Vous pouvez créer un pipeline en utilisant la syntaxe de Jenkinsfile, un fichier qui décrit les étapes du pipeline.

Dans cet exemple, nous allons créer un pipeline qui récupère les fichiers de l’application depuis un référentiel Git, les compile à l’aide d’un outil de compilation comme Maven, les teste à l’aide d’un framework de test comme JUnit et les déploie sur un serveur web Apache.

Voici à quoi ressemblerait le Jenkinsfile pour ce pipeline :

java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
pipeline {
  agent any

  stages {
    stage('Checkout') {
      steps {
        git 'https://github.com/votre-referentiel.git'
      }
    }

    stage('Build') {
      steps {
        sh 'mvn compile'
      }
    }

    stage('Test') {
      steps {
        sh 'mvn test'
      }
    }

    stage('Deploy') {
      steps {
        sh 'scp index.html user@serveur-web:/var/www/html'
      }
    }
  }
}

Ce fichier décrit les quatre étapes de notre pipeline : checkout, build, test et deploy. Chaque étape contient une ou plusieurs tâches qui sont exécutées en séquence.

  • Étape 4 : Exécuter le pipeline