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é, build 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
- es 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