Formations Craftsmanship

Logo Continuous Integration

Continuous Integration

Industrialisation du développement

50% théorie, 50% pratique
(4.1) 185 évaluations de janvier 2019 à ce jour
Durée 2 jours • 14 heures Obtenir un devis

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