Intégration continue

Intégration continue, bonnes pratiques de mise en œuvre

Objectifs de la formation

  • Comprendre les composantes et les principes de l'intégration continue
  • Manipuler un gestionnaire de contrôle des versions
  • Comprendre les mécanismes de la construction du logiciel et les outils de Build associés
  • Configurer un projet sur un serveur d'intégration continue
  • Déchiffrer les principaux métriques d'outils d'analyse de code
  • Appréhender le rôle des dépôts d'artefacts et la gestion des configurations


Programme de la formation

Introduction

  • Les différents types d'environnement : développement, recette, production.
  • La gestion des configurations : système et applicative.
  • Le rôle des conteneurs applicatifs : Docker.
  • Centralisation des configurations : puppet, Ansible.
  • Industrialisation des déploiements.
  • Mettre en place une plateforme d'intégration continue.

Gestion des versions

  • Les fonctionnalités.
  • Les différents gestionnaires de sources : centralisée ou distribuée.
  • Les problématiques d'intégration des changements.
  • Le rôle des branches et tags.

Travaux pratiques

Manipulation d'un dépôt Git.

Automatisation des Builds

  • Qu'est-ce que la construction du logiciel ?
  • Les Builds, cycle de vie de projet.
  • Les outils de Build avec Maven.
  • Plug-ins, profils et modules.

Travaux pratiques

Mise en place de la construction d'un projet simple (Maven).

Gestion des dépôts

  • Rôles des gestionnaires de dépôts.
  • Les types de dépôts : public, interne.
  • La gestion des livrables (artfacts): releases, snapshots, déploiement.
  • Organisation des dépôts : développement, test, production.
  • Intégration des gestionnaires des dépôts avec les outils de Build, avec les outils de gestion des taches.
  • Exemples de solutions : Nexus, Artifactory...

Travaux pratiques

Publication d'artefacts dans Nexus.

Automatisation des tests

  • Quels tests et pour faire quoi ?
  • Les environnements de tests.
  • Présentation d'outils de test.
  • La mise en œuvre de l'automatisation des tests.

Travaux pratiques

Mise en place de tests automatisés avec JUnit.

Serveur d'intégration continue

  • Le rôle du serveur d'intégration continue.
  • Les grandes fonctionnalités.
  • La gestion des tâches (job).
  • La dépendance entre tâches.
  • Les serveurs : Hudson/Jenkins, CruiseControle, Bamboo...

Travaux pratiques

Configuration du projet sur un serveur d'intégration continue Jenkins.

Mise en place de métriques

  • La génération de rapports.
  • Les outils d'analyse et de reporting (PMD, Findbugs, Cobertura, Emma, Checkstyle...).
  • La publication des résultats.

Travaux pratiques

Mise en place des outils de métriques.

Gestion du feedback

  • La gestion d'un cycle complet.
  • La traçabilité des changements.

Travaux pratiques

Utilisation de Sonar.

Please login to get access to the quiz
GIT, mettre en œuvre le contrôle de versions (Prev Lesson)
Back to Intégration continue
Public

Chefs de projet, développeurs, architectes.

Pré-requis

Connaissances de base en développement logiciel.