GUIDE TECHNIQUE · JENKINS
Jenkins : CI/CD : tests et artefacts avec Pipeline
Construire une CI Jenkins Node.js avec installation reproductible, tests, archivage des rapports et contrôle de la pull request.
L’ESSENTIEL EN BREF
Les étapes clés
Ce guide présente 4 étapes, de « Vérifier les scripts » à « Tester le cas d'échec ».
Avant de commencer : Projet Node.js de recette avec package-lock.json.
01 · CADRAGE
Périmètre et résultat visé
Résultat attendu : npm ci utilise le lockfile.
Public concerné : Développeurs backend et équipes CI/CD
Jenkins Pipeline avec agent Node.js et dépendances npm verrouillées.
Contrôlez les versions, les droits et les options disponibles dans votre environnement avant de suivre la procédure.
02 · AVANT DE COMMENCER
Prérequis et points de contrôle
- Projet Node.js de recette avec package-lock.json.
- Scripts npm test et npm run build disponibles.
- Agent isolé et politique de conservation d'artefacts définie.
03 · VUE D’ENSEMBLE
Comprendre l’architecture et les flux
04 · TUTORIEL
Procédure complète, étape par étape
Suivez les étapes dans l’ordre et contrôlez chaque résultat avant de poursuivre. Renseignez les paramètres adaptés à votre environnement.
ÉTAPE 1 / 4
Vérifier les scripts
Le contrat CI dépend des commandes du projet.
- Examiner les scripts package.json.
- Contrôler la version Node attendue.
npm --version
node --versionÀ vérifier : Les prérequis sont identifiés.
Point de vigilance : Ne pas remplacer npm ci par npm install dans une CI à lockfile fixe sans raison.
ÉTAPE 2 / 4
Installer et tester
Les erreurs doivent arrêter les stages suivants.
- Configurer l'installation figée.
- Exécuter les tests automatiques.
stage('Install') { steps { sh 'npm ci' } }
stage('Test') { steps { sh 'npm test' } }À vérifier : Un test KO fait échouer le build.
Point de vigilance : Les tests ne doivent pas dépendre de données de production.
ÉTAPE 3 / 4
Construire et archiver
Conserver un livrable ne signifie pas le déployer.
- Ajouter un stage build.
- Archiver uniquement les fichiers adaptés et non sensibles.
stage('Build') { steps { sh 'npm run build' } }
post { always { archiveArtifacts artifacts: 'reports/**', allowEmptyArchive: true } }À vérifier : Les rapports existent ou une absence explicite est signalée.
Point de vigilance : Configurer la durée de rétention et exclure les secrets des artefacts.
ÉTAPE 4 / 4
Tester le cas d'échec
La CI n'est fiable que si elle bloque réellement.
- Introduire un test volontairement KO dans une branche de recette.
- Vérifier le statut et la notification avant d'annuler ce changement.
# Cas de recette : tests KO => build rougeÀ vérifier : La fusion est bloquée selon les règles du dépôt.
Point de vigilance : Ne jamais injecter un échec artificiel sur la branche de production.
RÉFÉRENCES TECHNIQUES
Documentation officielle
Retrouvez les prérequis, les fonctionnalités et les versions prises en charge par Jenkins. Vérifiez les commandes sur un environnement de test avant leur utilisation en production.
05 · RECETTE
Comment vérifier que tout fonctionne ?
npm ci utilise le lockfile.
Un test KO produit un build en échec.
Les artefacts ne contiennent pas de secrets.
06 · DIAGNOSTIC
Problèmes fréquents et résolution
npm ci failed
Cause probable : Lockfile incohérent
Que faire : Synchroniser le lockfile en revue.
Tests flakies
Cause probable : Tests dépendant du temps ou du réseau
Que faire : Isoler les dépendances et conserver les diagnostics.
Rapports absents
Cause probable : Mauvais chemin d'archivage
Que faire : Vérifier le répertoire généré.
07 · QUESTIONS PRATIQUES
Questions fréquentes
CI et CD sont-ils identiques ?
Non. CI valide ; CD organise la livraison et éventuellement le déploiement.
Faut-il conserver node_modules ?
Généralement non, privilégier une installation reproductible.
Que publier comme artefact ?
Uniquement les livrables et rapports validés par une politique.
AUTRES TECHNOLOGIES
Guides complémentaires
VOTRE ENVIRONNEMENT
Besoin d’aller plus loin sur votre environnement ?
Automatisation, sécurité et exploitation : échangeons sur vos pratiques Jenkins.
Échanger avec ADN Consulting