Page
Jenkins
🎯 Objectif Cette page présente l'usage de Jenkins comme moteur de pipeline CI/CD dans le contexte Duqueine. --- ❓ Pourquoi utiliser Jenkins ? Jenkins est un outil open source d'automatisation CI/CD. Il permet de : - déclencher des pipelines automatiquement - exécuter des tests - construire des artefacts - orchestrer des déploiements - centraliser les résultats d'exécution --- Avantages de Jenkins 🔧 Très flexible Jenkins est hautement personnalisable grâce à son écosystème de plugins. 🏢 Adapté…
🎯 Objectif
Cette page présente l'usage de Jenkins comme moteur de pipeline CI/CD dans le contexte Duqueine.
---
❓ Pourquoi utiliser Jenkins ?
Jenkins est un outil open source d'automatisation CI/CD.
Il permet de :
- déclencher des pipelines automatiquement
- exécuter des tests
- construire des artefacts
- orchestrer des déploiements
- centraliser les résultats d'exécution
---
## Avantages de Jenkins
🔧 Très flexible
Jenkins est hautement personnalisable grâce à son écosystème de plugins.
🏢 Adapté à l'auto-hébergement
Il permet de garder la maîtrise de :
- l'infrastructure
- les flux réseau
- les secrets
- les règles d'exécution
♻️ Compatible avec des pipelines complexes
Jenkins est pertinent lorsque les workflows sont nombreux, spécifiques ou fortement industrialisés.
👥 Outil largement connu
Il existe beaucoup de ressources, de plugins et de retours d'expérience.
---
⚠️ Limites de Jenkins
🛠️ Mise en place plus lourde
Le setup initial demande du temps :
- installation
- sécurisation
- gestion des plugins
- organisation des agents
🔄 Maintenance régulière
Il faut suivre :
- les mises à jour Jenkins
- les mises à jour des plugins
- les compatibilités entre extensions
🖥️ Interface moins moderne
L'expérience utilisateur est souvent jugée moins intuitive que celle des plateformes CI/CD récentes.
---
🧱 Structure type d'une pipeline Jenkins
Une pipeline Jenkins peut contenir les étapes suivantes :
1. récupération du code 2. installation des dépendances 3. build 4. tests unitaires 5. tests d'intégration 6. analyse qualité 7. packaging ou publication 8. déploiement
---
📝 Définir une pipeline Jenkins
La pratique recommandée consiste à versionner la pipeline dans le dépôt via un Jenkinsfile.
Exemple très simplifié :
pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Test') {
steps {
sh 'npm test'
}
}
stage('Build') {
steps {
sh 'npm run build'
}
}
}
}
---
🔐 Bonnes pratiques Jenkins
- stocker la pipeline dans le dépôt
- limiter les droits administrateurs
- utiliser Vault ou un gestionnaire de secrets
- isoler les builds si possible
- versionner les configurations importantes
- surveiller les échecs récurrents
---
🧪 Jenkins dans notre contexte
Jenkins peut être utilisé pour :
- exécuter les tests avant merge
- piloter des builds Docker
- lancer les analyses SonarQube
- récupérer des secrets depuis Vault
- déclencher des déploiements contrôlés
---
📌 Quand choisir Jenkins ?
Jenkins est souvent un bon choix si l'entreprise privilégie :
- l'auto-hébergement
- la personnalisation poussée
- la continuité avec des pratiques déjà existantes