Organisme de Formation aux technologies et métiers de L'informatique

Formation Intégration continue - Automatiser la production logicielle

Informations générales

MGR910
3 jours (21h)
2 155 €HT

Objectifs

Après ce cours, vous serez capable de :

  • Maîtriser les principes de l’intégration continue
  • S'approprier la notion de build et l’utilité de gestionnaire de contrôle des versions
  • Savoir automatiser la production logicielle
  • Être en mesure de mettre en place un serveur d’intégration continue
  • Identifier comment configurer un projet sur un serveur d’intégration continue

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Chefs de projets
  • Architectes
  • Développeurs

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Connaissances de base en développement logiciel

Programme de la formation

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é
  • Risque: manque de visibilité du projet
  • Risque : découverte tardive des bugs
  • Risque : absence du déploiement

Le gestionnaire de contrôle de version

  • Les fonctionnalités
  • Le travail collaboratif
  • Les différents gestionnaires de sources
  • Versionning et migration de bases 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 œuvre 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
  • Évolution de l’intégration continue
  • Difficultés de mise en place et interrogation

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Mis à jour le 26/03/2024