IREX - Jenkins CI/CD : comment initier et tester un premier déploiement
Cet article vous guide, étape par étape, pour créer et tester votre premier pipeline de déploiement avec Jenkins, de manière simple et pratique.
1. Introduction
Dans le développement logiciel moderne, l’automatisation des processus de construction, de test et de déploiement est devenue indispensable pour garantir rapidité et fiabilité. Jenkins, un outil open source de CI/CD (Intégration Continue et Déploiement Continu), permet aux équipes de mettre en place ces processus de manière simple et efficace. Cet article a pour objectif de guider les débutants dans la création et le test de leur premier pipeline Jenkins, depuis l’installation jusqu’au déploiement initial et le test de fonctionnement.
2. Prérequis
Avant de créer et tester un premier pipeline Jenkins, il est important de connaître les éléments suivants :
a. Jenkins
- Jenkins est un outil open source de CI/CD (Intégration Continue et Déploiement Continu).
- Il permet d’automatiser les étapes de build, test et déploiement d’applications.
- Jenkins fonctionne toujours sur un serveur, qui peut être :
- Local : installé sur un ordinateur dédié, accessible via un navigateur sur la même machine.
- Distant : installé sur un serveur accessible à plusieurs utilisateurs via une URL.
- Utiliser un serveur permet de centraliser Jenkins et de suivre les pipelines depuis différents ordinateurs.
- Pour cet article, Jenkins sera utilisé sur un serveur distant, accessible via une URL.
b. Logiciels nécessaires
- Java : requis pour exécuter Jenkins.
- Git : pour récupérer et gérer le code source.
- Docker (optionnel) : si le déploiement doit se faire dans des conteneurs.
c. Compétences de base
- Savoir utiliser le terminal et quelques commandes Git simples.
- Comprendre les notions de build, test et déploiement.
3. Installation et configuration de Jenkins sur serveur
Pour initier et tester un déploiement avec Jenkins, le serveur doit être accessible et correctement configuré. Les étapes suivantes permettent de préparer Jenkins pour créer un pipeline simple :
a. Accéder au serveur Jenkins
i) Ouvrir un navigateur web
- Utiliser un navigateur moderne comme Chrome, Firefox ou Edge.
ii) Saisir l’URL du serveur
- Pour cet article, l’URL utilisée est :
https://jenkins.dev.onesi.ca
. - Cette URL correspond au serveur Jenkins.
- Selon la configuration, il peut y avoir une étape d’authentification via un système centralisé (Keycloak), qui redirige ensuite vers Jenkins.

iii) Se connecter avec les identifiants fournis
- Les identifiants correspondent à un compte utilisateur Jenkins fourni par l’administrateur ou par l’entreprise.
- Ils permettent d’accéder aux fonctionnalités nécessaires pour créer et exécuter des pipelines.

Objectif pratique : Cette étape confirme que le serveur Jenkins est accessible et que l’utilisateur dispose des permissions nécessaires pour travailler et pratiquer la création de pipelines.
4. Création et test d’un premier pipeline Jenkins
Une fois connecté au serveur Jenkins, l’étape suivante consiste à créer un pipeline simple pour automatiser le build et le test d’une application. Cette section guide le lecteur pas à pas.
a. Créer un nouveau pipeline
i) Accéder au tableau de bord Jenkins
- Depuis la page d’accueil Jenkins, cliquer sur "New Item" pour créer un nouveau projet.
- Saisir un nom pour le pipeline et sélectionner "Pipeline" comme type de projet, puis cliquer sur "OK".


ii) Configurer le pipeline
Jenkins permet de configurer un pipeline de deux manières principales. Il est important de comprendre ces options avant de lancer l’exécution :
- Écrire le script directement : vous pouvez taper ou coller le pipeline directement dans Jenkins via l’option "Pipeline script".
- Importer depuis un dépôt distant : vous pouvez récupérer le script depuis un repository Git avec l’option "Pipeline script from SCM", pratique pour tester des branches distantes ou centraliser vos pipelines.
Script direct dans Jenkins
Après avoir créé le pipeline, voici les étapes pour ajouter le code directement :
- Depuis le tableau de bord de votre pipeline, cliquez sur "Configure" pour ouvrir la configuration du pipeline.
- Descendez jusqu’à la section Pipeline.
- Dans Definition, sélectionnez "Pipeline script" pour écrire ou coller le script directement.
- Collez ou tapez le script dans la grande zone de texte.
- Cliquez sur "Save" ou "Apply" pour enregistrer le pipeline.
Coller le script suivant comme exemple :
pipeline { agent any stages { stage('Build') { steps { echo 'Compilation de l\'application...' } } stage('Test') { steps { echo 'Exécution des tests unitaires...' } } } }



Importer depuis un dépôt distant
Si vous souhaitez récupérer votre pipeline depuis un repository Git ou autre SCM, suivez ces étapes :
- Dans le tableau de bord de votre pipeline, cliquez sur "Configure" pour ouvrir la configuration du pipeline.
- Descendez jusqu’à la section Pipeline.
- Dans Definition, sélectionnez "Pipeline script from SCM".
- Dans SCM, choisissez le type de repository, par exemple Git.
- Dans le champ Repository URL, saisissez l’URL complète de votre dépôt Git (ex :
https://gitlab.com/votre-utilisateur/votre-projet.git
). - Si le dépôt est privé, cliquez sur Credentials et ajoutez vos identifiants (login/mot de passe ou token).
- Dans Branches to build, indiquez la branche à utiliser pour le pipeline, par exemple
main
oufeature/ma-branche
. - Vous pouvez spécifier le chemin du fichier Jenkinsfile si ce n’est pas à la racine du dépôt (champ Script Path).
- Cliquez sur "Save" ou "Apply" pour enregistrer la configuration.
- Pour vérifier que tout fonctionne, cliquez sur "Build Now" et observez la console Jenkins pour voir l’exécution du pipeline.
Astuce pratique : Cette méthode est idéale pour centraliser les pipelines et tester des branches différentes sans toucher au code local sur Jenkins.



Objectif pratique : Cette étape permet de choisir et pratiquer le mode de configuration adapté à vos besoins, local ou distant, avant d’exécuter le pipeline.
b. Exécuter et tester le pipeline
i) Lancer l’exécution
- Cliquer sur "Build Now" dans le tableau de bord du pipeline pour déclencher l’exécution.
- Surveiller la progression via la console Jenkins en cliquant sur le numéro du build.


ii) Vérifier les résultats
- Confirmer que les étapes Build et Test se sont terminées sans erreur.
- En cas d’erreur, consulter les logs et corriger le script si nécessaire.
Objectif pratique : Cette étape permet de valider le bon fonctionnement du pipeline et de s’assurer que Jenkins peut exécuter automatiquement les étapes de build et de test.
c. Paramètres de pipeline
Une fois que le pipeline de base fonctionne, Jenkins permet d’ajouter des options supplémentaires pour rendre le pipeline plus flexible et puissant. Parmi celles-ci :
- Vous pouvez définir des paramètres (chaîne de texte, booléen, liste déroulante, fichier, etc.) pour rendre le pipeline dynamique.
- Ces paramètres peuvent être saisis par l’utilisateur avant de lancer le build.
- Exemple pratique : un paramètre
BRANCHE
où l’utilisateur peut saisir le nom de la branche à construire (ex :main
).

5. Bonnes pratiques pour vos pipelines Jenkins
- Nommer et structurer vos stages : Donnez des noms explicites à vos stages et étapes pour que la lecture des logs soit claire et que l’équipe comprenne facilement le pipeline.
- Versionner vos scripts : Stockez vos Jenkinsfile dans GitLab ou Git pour garder un historique, pouvoir revenir à une version précédente et collaborer facilement.
-
Ajouter des commentaires : Commentez chaque étape de votre Jenkinsfile pour expliquer l’objectif et les actions réalisées. Exemple :
// Étape de compilation de l’application
-
Utiliser des paramètres de pipeline : Vous pouvez inclure des paramètres dans le pipeline pour tester différentes branches, environnements ou configurations sans modifier le script. Exemple :
parameters { string(name: 'BRANCHE', defaultValue: 'main', description: 'Branche à construire') }
-
Archiver les fichiers importants : Pour faciliter le suivi et la documentation, archivez les fichiers générés (logs, rapports de test, artifacts) avec
archiveArtifacts
. - Notifications : Prévoyez des notifications automatiques pour informer l’équipe en cas de succès ou d’échec d’un build.
Objectif pratique : Ces bonnes pratiques permettent de rendre vos pipelines maintenables, lisibles et sécurisés pour un usage en équipe.
6. Conclusion
Ce premier pipeline est la base pour automatiser vos projets et peut être enrichi par la suite avec des étapes supplémentaires, des tests avancés, ou des déploiements sur différents environnements (dev, UAT, prod). L’important est de bien comprendre le fonctionnement des pipelines et de pratiquer régulièrement pour gagner en maîtrise.
Jenkins permet également d’ajouter des paramètres, des notifications, et des conditions avancées, offrant ainsi une flexibilité totale pour vos processus CI/CD.
No comments yet. Start a new discussion.