Objectifs :
Installer un environnement d’intégration continue basé sur Jenkins
Automatiser les build, l’exécution des tests et l’audit de la qualité du code source
Déployer sur une plateforme d’intégration continue ou de production avec Jenkins.
Intégrer Jenkins avec d’autres outils de l’écho système DevOps (SCM, Gestionnaire de tickets, dépôts d’artefacts…)
Introduction
Notions des méthodes agiles
Intérêt de l’Intégration Continue et de la Livraison Continue dans le cycle de vie d’une application.
Vue d’ensemble de Jenkins
Jenkins, un outil d’automatisation
TP: Installation de Jenkins
Projets Jenkins
Création, gestion, exécution des projets et surveillance de leur état.
Tests unitaires (Analyse du résultat)
TP1: Création et compilation d’un projet « Freestyle »
TP2: Création et compilation d’un projet avec Maven
Intégration avec les Outils de Versioning
Intérêt de l’intégration de Jenkins avec un gestionnaire de version
TP : interconnexion Jenkins – GitHub
Qualité de Code et Taux de Couverture de Tests
Mise en place des analyses statiques et dynamiques de la qualité du code source.
TP : mesure de la qualité de code
Projets Paramétrés
Création des workflows de builds complexes avec « Parameterized Builds »
TP : Création des builds contenant des paramètres en entrée
Déploiements Automatisés
Mise en place des tests d’intégration et analyse du résultat
TP : Déploiement automatique d’une application Java sur le serveur Tomcat.
Jenkins Pipeline
Le langage de Scripting Jenkins DSL.
Archivage dans un gestionnaire de code source comme un code applicatif classique.
TP : Création de projets avec Jenkins DSL
Architecture Maître Esclave
Les principes de l’architecture Maître-Esclave « Jenkins »
L’accélération de l’exécution des tâches en utilisant les différents clusters Jenkins.
TP : Création d’une architecture maître/esclave, partage de charge
Administration de Jenkins
Gestion et configuration de Jenkins.
TP : Mise en place de la sécurité, sauvegarde/restauration
Conclusion et perspectives