Description
Ce programme de formation sur Gradle est conçu pour les développeurs souhaitant maîtriser l'automatisation des builds et l'intégration continue. Il aborde des concepts clés tels que la comparaison avec Maven, l'utilisation de Groovy, et les bases de la création de tâches et de plugins. Les participants apprendront à gérer des projets multi-modules, à intégrer des tests variés, et à publier des artefacts. En intégrant des notions de qualité de code et de déploiement, cette formation s'adresse à des professionnels cherchant à optimiser leurs processus de développement.
Objectifs
- Mettre en place toutes les étapes de build demandées par l'intégration continue
- Savoir sélectionner et paramétrer un ou plusieurs plugins selon votre besoin
- Comprendre le cas d'un build multi-projets
Récapitulatif
Public
Développeurs, intégrateurs et architectes
Prérequis
Avoir une xpérience de la problématique de build, ainsi que quelques notions d'intégration continue
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Introduction à Gradle
- Automatisation de build et intégration continue, les attentes sur les outils
- Approche script ou par convention, positionnement de Gradle, Comparaison avec Maven
- Notions de DSL, Task, Plugin
- Le langage de script Groovy
- Cycle de vie du build
Les 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érateur
Premiers 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 le cycle de vie, différentiation Configuration/ Exécution,
- Dépendance entre tâches, tâche par défaut
Plugins 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 projet
Build 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 composites
Intégration continue avec Gradle
- Concepts de l'agrégation, notion de bucket, de mesures
- Séparation types de tests (unitaires, intégration, 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