Introduction à Gradle
Automisation de build et intégration continue, les attentes sur les outils
Approche script ou par convention, positionnement de Gradle, Comparaison avec Maven
Norions de DSL, Task, Plugin
Le langage de script Groovy
Cycle de vie du buildLes bases de Groovy
Présentation, Groovy et Java, l’outil SDK
Typage, Chaines de caractère, Liste, Map
Clôture (Closure)
Langage Orienté Objet
Injection de code
Langage à DSL
Surcharge d’opérateurAtelierPremiers pas avec Gradle
Installation, Upgrade, Ligne de commande
Concepts de projets et de tâches
Tâches : Définition, catégories, types de tâches
Les tâches cœur de Gradle
Écrire des tâches à partir des tâches cœur
Écrire des tâches à partir des tâches provenant d’un plugin
Retour sur la cycle de vie, différentiation Configuration/ Exécution,
Dépendance entre tâches, tâche par défautAtelierPlugins avec Gradle
Apports d’un Plugin
Types de plugins : scripts, binaires
Résolution : Plugin portail, dépôt custom, ...
plugins DSL
Exemple du plugin Java
Dépendances et dépôt, utilisation de dépôts Maven, publication d’atefacts
Personnalisation d’un projetAtelierBuild Multi-projets avec Gradle
Cas d’usage des build multi-projets
Structure d’un build multi-projets
Règles d’exécution d’un build multi-projets, chemins projet et tâche
Configurations transverse et sous-projets
Dépendances entre sous-projets, configuration et exécution
Exécution parallèle, notion de projet découplé
Différence avec les builds compositesAtelierIntégration continue avec Gradle
Concepts de l’agrégation, notion de bucket, de mesures
Séparation types de tests (unitaires, intération, acceptance),
Qualité du code, plugins disponibles
Génération de distribution, stratégie de versionning, packaging, gestion des environnements
Publication des binaires, Dépôts d’artefacts (Nexus, Artifactory)
Déploiement automatique ou à la demande (Exemple de Cargo)
Exécution des tests d’acceptance
Intégration Jenkins