Comprendre les enjeux de l'intégration continue
- Première approche et notion de processus d'intégration
- Les apports de l'intégration continue et les risques réduits dans les équipes de développement
- De quoi a t-on réellement besoin pour commencer une démarche d'intégration continue?
Changement, déclenchement et processus d'intégration
- Notion d’événement
- Détail des différentes étapes d'un processus d'intégration
- Les types de déclenchement du processus
Automatisation de la construction
- Les enjeux
- Comparaison de l'utilisation des IDE et de l'intérêt d'un moteur d'intégration couplé à un script de construction
- Comment démarrer son automatisation?
- Sensibilisation au temps de construction globale d'une application
- Validation et traçabilité de la chaîne de construction
- Problématique de la reproductibilité
La gestion des composants de son application
- Problématique du découpage en composants de son application
- Présentation des outils de gestion de dépendances
- Les stratégies de l'enchainement de la construction des composants
Communication avec un gestionnaire de sources
- Les différents types de stratégie en fonction de l'outil SCM
- Politique de branches par version vs politique de branches par fonctionnalité
- Problématique de traçabilité
- Exemple de mise en oeuvre avec le triplet Maven, Hudson/Jenkins et SVN
- Exemple de mise en oeuvre avec le triplet Maven, Hudson/Jenkins et GIT
- Etude du cas particulier : le mécanisme de livraison (release) de Maven
Introduction au serveur d'intégration continue Jenkins
- Historique et positionnement vis à vis de la concurrence
- Panorama des fonctionnalités
- Les plugins les plus utilisés
- Installation, configuration et les pièges à éviter
- Première mise en oeuvre avec un projet Maven
Gestion des livrables
- Stratégie de mise à disposition du résultat construit
- Notion de dépôt d'artefacts
- Spectre des principaux outils de gestion de dépôt d'artefacts: Nexus, Artifactory et Archiva
- Problématique de traçabilité du résultat et des informations de build
Les tests dans le processus de construction
- Intérêts de l'automatisation des tests
- Concepts de « l'extreme Programming »
- Principes des « TestDriven Development »
- Présentations des familles de tests
- Tests unitaires, tests d'intégrations et tests fonctionnels
- Exemple de test d'une application Web avec Selenium
Qualité de code et traitement des résultats
- Apports de la mise en place d'outils de métriques
- Les principaux outils de métriques Java: de la génération de la documentation à la couverture de code en passant par la détection de bugs
- Exemple du site Maven
- Installation et configuration de Sonar
- Mise en oeuvre d'une qualimétrie avec Sonar pour un projet Maven et un projet Ant/Ivy
- Publication des résultats dans le serveur Hudson/Jenkins à travers ses plugins
- Les bonnes pratiques d’utilisation
Communication
- Indicateurs de visibilité du résultat construit
- Statut, Santé et tendance
- Savoir réagir
- Communication avec des outils externes
- Notification par email et flux RSS
Dernière mise à jour : le 04/05/2024 à 13:05