(+33)1 55 60 76 72

Intégration continue

Accueil » Formations » Factory » Intégration continue

L’intégration continue est un ensemble de pratiques issues du génie logiciel qui participent à l’industrialisation des développements.
Ces pratiques doivent être appliquées par l'ensemble des membres de l'équipe d'un projet informatique. Néanmoins, le développeur est considéré comme l'acteur principal. A chaque modification du code source, le développeur doit s'assurer que ces modifications n'ont pas introduit de régression afin de limiter les coûts de correction. C'est ainsi que l'intégration continue vise à garantir la qualité et la fluidité du cycle de développement à travers un ensemble d’outils constituant l’usine logicielle. Cette usine Logicielle permet dans une démarche d’automatisation des constructions, des déploiements et des suites de tests, de générer des audits de fabrications, des rapports de tests accessibles à tous les membres de l’équipe et d’améliorer ainsi la productivité globale du projet.
Cette formation à pour objectif de comprendre l'utilité de l'Intégration Continue et de mettre en oeuvre une démarche pour mettre en place un environnement d'intégration continue afin d’automatiser les différentes tâches liées au développement logiciel et au déploiement sur les plates-formes d’intégration.

1650 € HT 3 jours UL-INT

Intégration continue : Automatiser la production logicielle

Programme

Introduction

  • Les méthodes agiles
  • Une histoire de déjà-vu ?
  • L’intégration continue, la solution ?

L’intégration continue

  • Définition, principes
  • Notion de génie logiciel
  • Bonnes pratiques
  • La chaîne de fabrication logicielle
  • L’intégration continue en trois étapes
  • Les freins à l’intégration continue

Réduire les risques grâce à l’intégration continue

  • Risque: Logiciel de faible qualité
    • Scénario: Incapacité à Visualiser Software
    • Scénario: Avez-vous obtenu la note ?
  • Risque: manque de visibilité du projet
    • Scénario: couverture de test
    • Scénario: tests de régression
  • Risque : découverte tardive des bugs
    • Scénario : synchronisation des bases de données
    • Scénario : ça fonctionne sur ma machine
  • Risque : absence du déploiement
    • Scénario: la norme de codage
    • Scénario: le respect de l’architecture
    • Scénario: la duplication du code

Le gestionnaire de contrôle de version

  • Les fonctionnalités
  • Le travail collaboratif
  • Les différents gestionnaires de sources
  • Versionning et migration de base de données (Flyway, Liquibase, etc)
  • Les freins à l’intégration continue

L’automatisation de la construction du logiciel (Build)

  • Comprendre le build (privé, buil d’intégration de jour/nuit)
  • Différents types de builds
  • Automatiser les builds
    • Séparer les scripts de compilation à partir de votre IDE
    • Créer une structure cohérente Directory
    • Construire pour tout environnement
    • Types, mécanismes de constructions et déclenchement des Builds
  • Les outils de Build (Gradle, Maven, Ant…).

Automatiser le déploiement du projet

  • Bonnes pratiques du déploiement
  • Intégration et déploiement continus

 L’automatisation des tests

  • Les différents types de tests (tests unitaires, tests d’intégration, tests d’acceptation, tests de performance )
  • Les environnements de tests
  • Outils de test
  • La mise en oeuvre de l’automatisation des tests

Le serveur d’intégration continue

  • Le rôle du serveur d’intégration continue
  • Les grandes fonctionnalités
  • Les serveurs d’intégration continue (Hudson/Jenkins, CruiseControle, Bamboo…)

La 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

Conclusion

  •  Avantages de l’intégration continue
  • Evolution de l’intégration continue
  • Difficultés de mise en place et interrogation