Objectifs pédagogiques / Compétences visées
- Identifier les principes d'intégration continue
- Décrire les processus et méthodes
- Définir la notion de build
- Automatiser la production logicielle
- Déployer Jenkins sur les projets.
Niveau requis
Connaître le langage Java. Avoir des connaissances en développement et avoir suivi le cours MAV-PRO "Maven - Construire ses projets" ou posséder les connaissances équivalentes.
Public concerné
Développeurs, architectes, chefs de projets et ingénieurs qualité.
Programme
Intégration continue
- Définition, principes
- Notions de génie logiciel
- Best practices d'intégration continue
- La chaîne de fabrication logicielle
Utilisation de Jenkins
- Concepts, définitions
- Présentation de Jenkins comme serveur de build
- Archétype de projet
- Déclencheurs de build
- Résultat du build
- Workspace
- Visite guidée de l'interface
- Jenkins dans l'IDE
- Installation et démarrage de Jenkins
- Configuration générale
- Installation des plug-ins
Construire un projet Java avec Maven
- Rappels Maven
- Création d'un job
- Accès aux sources
- Paramétrage de Maven
- Rapports de tests unitaires
- Envoi de mails de notification
- Déploiement automatique
- Rapports d'analyse qualité
- Habilitations
Construction des projets complexes
- Enchaînements de projets Maven
- Construire une application J2EE complète
- Construire un projet avec ANT
- Conjuguer plusieurs outils
- Déployer dans les référentiels Maven
- Piloter le déploiement d'applications
Utilisation de Jenkins en cluster
- Configuration des "esclaves"
- Modes de démarrage Unix, Windows
- Répartition des jobs entre "esclaves"
- Bonnes pratiques de déploiement
Administration de Jenkins
- Configuration des vues Jenkins
- Considérations multiplateformes
- Visite guidée de la JENKINS_HOME
- Monitorer et sauvegarder Jenkins
- Scripts Jenkins en langage Groovy
- Utiliser la ligne de commande d'administration
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)