GUIDE TECHNIQUE · JENKINS
Jenkins : Shared Libraries et Go/NoGo
Factoriser les pipelines Jenkins avec Shared Libraries versionnées et imposer un jalon Go/NoGo avant déploiement de production.
L’ESSENTIEL EN BREF
Les étapes clés
Ce guide présente 4 étapes, de « Créer la bibliothèque » à « Tester le refus et l'annulation ».
Avant de commencer : Dépôt de library de recette avec contrôle de branches.
01 · CADRAGE
Périmètre et résultat visé
Résultat attendu : La library est versionnée.
Public concerné : Responsables delivery, DevOps et administrateurs Jenkins
Jenkins Shared Libraries, Multibranch Pipeline et input step selon les plugins actifs.
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
- Dépôt de library de recette avec contrôle de branches.
- Pipeline de test et comptes autorisés à approuver.
- Responsabilités des valideurs et stratégie de rollback documentées.
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
Créer la bibliothèque
Le code partagé doit être revu comme du code de production.
- Créer le dépôt avec vars/ et src/ selon besoin.
- Protéger la branche et définir les personnes habilitées à modifier la bibliothèque.
# Arborescence :
vars/buildApp.groovy
src/org/example/À vérifier : Les responsabilités de la library sont identifiées.
Point de vigilance : Une library trusted peut exécuter du code privilégié : réserver ce statut à des mainteneurs fiables.
ÉTAPE 2 / 4
Référencer une version
Une dépendance mouvante rend le résultat difficile à reproduire.
- Déclarer une version immuable ou un tag validé.
- Appeler une fonction simple depuis le Jenkinsfile de recette.
@Library('ci-shared@v1.0.0') _
// Utiliser ensuite les étapes exposées par la bibliothèqueÀ vérifier : Le pipeline référence la version attendue.
Point de vigilance : Le tag doit être protégé contre les modifications non autorisées.
ÉTAPE 3 / 4
Définir Go/NoGo
Le déploiement doit rester distinct du build réussi.
- Placer un stage d'approbation avant le stage de mise en production.
- Limiter les approbateurs selon les mécanismes disponibles.
stage('Go-NoGo') {
steps { input message: 'Autoriser le deploiement ?' }
}À vérifier : Le pipeline attend une décision explicite.
Point de vigilance : Un input seul ne constitue pas une séparation de droits sans politique d'approbateurs.
ÉTAPE 4 / 4
Tester le refus et l'annulation
Une gouvernance doit bloquer le chemin alternatif.
- Tester un refus et un dépassement de délai.
- Vérifier que le stage de déploiement ne s'exécute pas et que l'audit conserve la décision.
# Test recette : refus => aucun déploiementÀ vérifier : Le refus bloque la livraison.
Point de vigilance : Tester séparément la procédure de retour arrière de l'application.
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 ?
La library est versionnée.
L'approbation intervient avant PROD.
Un refus empêche le déploiement.
06 · DIAGNOSTIC
Problèmes fréquents et résolution
Library not found
Cause probable : Version ou configuration incorrecte
Que faire : Vérifier le nom et le dépôt enregistrés.
Input sans restriction
Cause probable : Approbateurs non paramétrés
Que faire : Restreindre les identités et vérifier les droits.
Release non reproductible
Cause probable : Version de library mobile
Que faire : Épingler un tag immuable.
07 · QUESTIONS PRATIQUES
Questions fréquentes
Une Shared Library est-elle obligatoire ?
Non, elle devient utile quand plusieurs pipelines partagent une logique stable.
Go/NoGo peut-il être automatisé ?
Des contrôles techniques oui ; une validation métier explicite peut rester obligatoire.
Peut-on revenir en arrière ?
Oui si un rollback applicatif vérifié existe ; Jenkins ne l'invente pas.
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