Aller au contenu

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.

Niveau Avancé3 min de lecture— vuesJenkins

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

Environnement et versions

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

ARCHITECTURE TECHNIQUEComprendre la chaîne de bout en bout
01Library
02Tests
03Préproduction
04Input Go/NoGo
05Production
Une Shared Library fournit un code mutualisé ; un input step matérialise la décision humaine, sous réserve de permissions vérifiées.

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.

01

ÉTAPE 1 / 4

Créer la bibliothèque

Le code partagé doit être revu comme du code de production.

  1. Créer le dépôt avec vars/ et src/ selon besoin.
  2. Protéger la branche et définir les personnes habilitées à modifier la bibliothèque.
Exemple techniqueÀ adapter à votre environnement
# Arborescence :
vars/buildApp.groovy
src/org/example/
Ce qui se passe à cette étape
1Source
2Revue
3Version

À 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.

02

ÉTAPE 2 / 4

Référencer une version

Une dépendance mouvante rend le résultat difficile à reproduire.

  1. Déclarer une version immuable ou un tag validé.
  2. Appeler une fonction simple depuis le Jenkinsfile de recette.
Exemple techniqueÀ adapter à votre environnement
@Library('ci-shared@v1.0.0') _
// Utiliser ensuite les étapes exposées par la bibliothèque
Ce qui se passe à cette étape
1Tag
2Library
3Appel

À 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.

03

ÉTAPE 3 / 4

Définir Go/NoGo

Le déploiement doit rester distinct du build réussi.

  1. Placer un stage d'approbation avant le stage de mise en production.
  2. Limiter les approbateurs selon les mécanismes disponibles.
Exemple techniqueÀ adapter à votre environnement
stage('Go-NoGo') {
  steps { input message: 'Autoriser le deploiement ?' }
}
Ce qui se passe à cette étape
1Contrôle
2Input
3Décision

À 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.

04

ÉTAPE 4 / 4

Tester le refus et l'annulation

Une gouvernance doit bloquer le chemin alternatif.

  1. Tester un refus et un dépassement de délai.
  2. Vérifier que le stage de déploiement ne s'exécute pas et que l'audit conserve la décision.
Exemple techniqueÀ adapter à votre environnement
# Test recette : refus => aucun déploiement
Ce qui se passe à cette étape
1Refus
2Stop
3Audit

À 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.

Consulter la documentation officielle

05 · RECETTE

Comment vérifier que tout fonctionne ?

Résultat attenduContrôles avant de considérer la procédure terminée
01

La library est versionnée.

02

L'approbation intervient avant PROD.

03

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

Tous les guides Jenkins

VOTRE ENVIRONNEMENT

Besoin d’aller plus loin sur votre environnement ?

Automatisation, sécurité et exploitation : échangeons sur vos pratiques Jenkins.

Échanger avec ADN Consulting

Pour aller plus loin