| Gant et Ivy |
| Packager une application avec Gant et Ivy |
Référence : GANT-IVY-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 et analyser un projet utilisant le couple Gant et Ivy
- Savoir produire les scripts de build pour packager et déployer ces applications Java/JEE
- Utiliser Gant et Ivy pour l'exécution des tests unitaires et des tests d'intégration
- Adosser le couple Gant/Ivy à un moteur d'intégration continue comme Hudson
|
Contenu
Introduction
- Présentation et historique de Gant et de Ivy
- Détail du choix du langage Groovy au lieu de Xml
- Véritable alternative de Ant
- Principe de l'utilisation de Ivy par API
- Contexte d'utilisation
Les fichier de build Gant
- Structure du fichier build.gant
- Définition d'une cible (target) Gant
- Appel de tâches Ant existantes
- Définition de propriétés Gant et utilisation de propriétés Ant existantes
- Invocation de Gant en ligne de commandes
- Panorama des options possibles
Construction d'une bibliothèque Java avec Gant
- Utilisation des tâches core de Ant (tâches Java, tâches de manipulation de fichiers, ...)
- Invocation des paths Ant
- Création des cibles Gant de compilation, de packaging et d'exécution
- Implémentation du chaînage de cibles
Le gestionnaire de dépendance Ivy
- Présentation des cibles Ivy et incorporation dans Gant
- Gestion de configuration
- Détails des différents types de repository
- Local, shared et repository public
- Utilisation du repository central de Maven
- Exploration des techniques de recherche de librairies
Installation et Configuration
- Installation et configuration du couple Gant/Ivy
- Intégration dans les IDE Eclipse et IDEA IntelliJ
Utilisation de Gant durant les phases de tests
- Apport de Groovy
- Mise en pratique avec Junit et TestNG
- Exemple d'exécution des tests d'intégration avec Selenium
Script de build d'une application Java/JEE
- Implémentation d'un cycle de construction
- Récupération des sources du projet depuis un gestionnaire de sources comme Subversion
- Savoir gérer un projet muti-modules
- Création d'une archive jar, war et ear
- Déploiement dans un container Web avec Cargo
Flexibilité et Réutilisation
- Appel de taskdef Ant
- Réutilisation par la construction de fonctions Groovy
- Utilisation de closures Groovy
Utilisation dans un processus d'intégration continue
- Principe de l'automatisation d'une chaîne de build complète avec Gant/Ivy
- Mise en pratique avec Hudson et Subversion
- Génération de métriques sémantiques depuis Gant/Ivy et visualisation dans Hudson
- Génération des rapports des dépendances des projets
- Simplification de la mise en place d'une gestion proactive pour agir sur le résultat du build
Limites, avantages et futurs évolutions
- Peut-on utiliser le couple Gant/Ivy pour des projets C, C+, Ada, ...?
- Introduction au système de build : Gradle
|
| * 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. |
|
|
|
|