| Maven |
| Automatiser le build d'une application Java/JEE avec Maven |
Référence : MAVEN-02
Durée : 2 jour(s) |
|
|
|
Grégory Boissinot est un spécialiste des outils de build et des problématiques d'intégration continue qu'il a mis en place à grande échelle. Grégory possède une expérience industrielle grand compte de ces problématiques et contribue activement à la communauté Open Source dans ce domaine en étant commiteur Hudson et Sonar.
Pour en savoir plus
|
|
|
Objectifs
- Comprendre le positionnement de Maven par rapport aux simples outils de build (ex: ANT)
- Tirer la quintessence de Maven pour systématiser la gestion du cycle de vie d'un projet
- Savoir enrichir le cycle de construction d'un projet
- Savoir adosser Maven à un moteur d'intégration continue
|
Contenu
Introduction
- Définition et intégration dans le cycle de vie des projets
- Naissance de Maven : du script shell à Maven
- Règle du « Convention over configuration »
Le POM (Project Object Model)
- Mécanisme de gestion des objets par Maven
- Détail de la fiche projet : le fichier pom.xml
- Le « super POM » et les mécanismes d'héritage
- Exploration de la structure des projets Maven
- Les types de projets Maven (Simple, Web, d'Entreprise, ...)
- Notion de propriétés et de filtre des ressources
Repository Maven et coordinations
- Mécanisme de localisation d'une librairie
- Notion de repository et d'architecture organisationnelle
- Le repository local et les repositories distants
- Outillage pour la gestion du cache et de la sécurité avec Archiva
Mise en place de Maven
- Pré-requis
- Installation et présentation des différentes techniques de configuration
Modèle de gestion des dépendances
- Exploration du mécanisme de gestion des dépendances et de transitivité
- Optimisation des dépendances
Le cycle de construction d'un projet
- Les différents cycles de construction
- Comprendre les phases et le rattachement des goals Maven aux différents cycles
Exécution de plugins
- Maven : une plateforme d'exécution de plugins
- Comment configurer les plugins dans le but d'enrichir le cycle de construction?
Les profils
- Définition et intérêt des profils
- Configuration et mise en oeuvre
- Présentation des bonnes pratiques
Développement de plugins
- Création d'un plugin Maven en Java et attachement au cycle de construction
- Extension pour la création d'un type de projet
- Débugging de l'exécution d'un plugin dans un IDE
- Cas de l'utilisation de Groovy comme langage alternatif pour l'écriture de plugins
Archetype et Assemblies
- Définition et spectre des archetypes existants
- Génération de livrable à la demande
La gestion de configuration
- Communication avec un gestionnaire de sources
- Fabrication d'un livrable et détails des pré-requis
L'exécution des tests
- Organisation Maven pour les tests d'intégration et fonctionnels
- Mise en œuvre du debugging des tests dans Eclipse lancés par Maven
- Cas d'exemple de tests d'intégration s'exécutant au sein d'un navigateur Web démarré par Maven
Les rapports
- Maven permet de générer le site Maven
- Détails des différentes métriques : de la génération de la documentation Java à la couverture de code des tests, en passant par la détection de bugs
- Principe d'une gestion pro active
- Techniques de déploiement du site
Maven dans les équipes de développement
- Les différents modes d'utilisation de Maven avec les IDE Eclipse
- Cas d'utilisation du plugin m2eclipse
Intégration continue
- Problématiques et enjeux
- Outillages et mise en pratique avec Hudson
Limites, avantages et futures évolutions
- Comparaison entre Maven avec le nouvel outil de build Gradle
- Gestion d'un build incrémental
|
| * Le déjeuner est compris dans le tarif. |
| ** Les livres sont offerts uniquement pour les formations inter-entreprise. Zenika se réserve le droit de changer le livre proposé à tout moment. |
|
|
|
|