Jenkins, mettre en place l'intégration continue en Java (Adapté DGFIP)
Description
Objectif général de la formation: À l’issue de la formation, les participants seront capables de configurer et d’administrer un environnement de concevoir des pipelines CI/CD pour des applications Java et d’automatiser les étapes de build, de test, d’analyse de code et de déploiement. Ils sauront également superviser, sécuriser et optimiser l’exécution des pipelines. Modalité : Toutes les modalités (présentiel, classe virtuelle et hybride) sont possibles Lieu possible de réalisation : Locaux du bénéficiaire ou locaux d’Ascent Formation, en France métropolitaine et dans les DROM-COM Nombre maximal de participants : 20 Niveau SAME visé : Maîtrise (M) Compétences visées Configurer et administrer Jenkins ainsi que ses principaux composants. Créer et paramétrer différents types de jobs Jenkins. Concevoir des pipelines CI/CD à l’aide d’un Jenkinsfile. Intégrer Jenkins avec Git, des outils de build Java, des outils de tests et des solutions d’analyse de code. Automatiser les étapes de build, de test, de contrôle qualité et de déploiement d’une application Java. Gérer les paramètres, variables d’environnement et secrets utilisés dans les pipelines. Superviser, sécuriser et optimiser les pipelines Jenkins. Diagnostiquer les erreurs d’exécution et mettre en oeuvre des mécanismes de reprise ou de rollback.
Objectifs pédagogiques
- Expliquer le rôle de Jenkins dans une chaîne d’intégration et de déploiement continus.
- Identifier l’architecture, les composants et les principaux concepts de Jenkins.
- Configurer les noeuds, les plugins et les paramètres nécessaires à l’exécution des jobs.
- Créer, configurer et déclencher des jobs freestyle et des pipelines Jenkins.
- Écrire et exploiter un Jenkinsfile pour automatiser un workflow CI/CD.
- Intégrer un dépôt Git et déclencher automatiquement un pipeline à partir d’un événement externe.
- Intégrer les étapes de compilation, de tests unitaires et d’analyse de la qualité du code dans un pipeline.
- Mettre en place une Quality Gate et des étapes de validation.
- Automatiser le déploiement d’une application Java en sécurisant les variables et les secrets.
- Analyser les journaux d’exécution afin d’identifier et de corriger les erreurs d’un job.
- Optimiser l’exécution des pipelines grâce au parallélisme et à la réduction des temps de traitement.
- Mettre en oeuvre les principales mesures de sécurisation, de sauvegarde et de supervision de Jenkins.
Public concerné
Prérequis
Déroulé du programme
Jour 1 : Introduction et configuration de Jenkins (6 heures)
▪ CI/CD et prise en main de Jenkins (1.5 heures) :
Rappels sur les concepts de CI/CD
Concepts clés de Jenkins : rôle dans une chaîne d’intégration continue, architecture et composants.
Travaux pratiques : Découverte de l’interface de Jenkins et lancement d’un job simple.
• Administration de Jenkins (1.5 heures) :
Ajout et configuration des noeuds
Associer des noeuds aux jobs
Installation et gestion des plugins Jenkins (Git, Sonarqube, ...)
Travaux pratiques : Ajout de 2 noeuds et attribution à des projets spécifiques
• Gestion et lancement des jobs (3 heures) :
Les différents types de jobs (freestyle, pipeline, ...) et le rôle du Jenkinsfile
Etapes de build et interactions entre jobs
Gestion des paramètres et des variables
Déclenchement des jobs et gestion des évènements externes
Debogage et comprendre la sortie des jobs
Travaux pratiques : Déclenchement d'un job via un git push et gestion des paramètres environnementaux
Jour 2 : Automatisation avancée et pipelines (6 heures)
• Tests automatisés et audits de code (2 heures) :
Intégration des tests unitaires au sein du pipeline
Utilisation d’outils d’analyse de code et mise en place d’une Quality Gate
Automatisation des rapports et mise en place d’étapes de validation
Travaux pratiques : Mise en place d'un pipeline intégrant des tests unitaires et une Quality Gate
• Déploiement continu avec Jenkins (2 heures) :
Automatisation des déploiements applicatifs
Gestion des secrets et variables pour les déploiements sécurisés.
Démonstration des stratégies de rollback en cas d’échec.
Travaux pratiques : Configurer un pipeline Jenkins pour tester et déployer une application Java.
• Supervision et optimisation (2 heures) :
Suivi des performances des pipelines Jenkins.
Optimisation des workflows : parallélisme, réduction des temps d’exécution.
Sécurisation et sauvegarde des configurations Jenkins.
Travaux pratiques : Superviser et optimiser un pipeline Jenkins complexe.
Informations
Durée
2 jour(s)
12h
Sur demande