L’intégration continue chez AXA France Services Yann Crumeyrolle Laurent Nyffels
Jul 09, 2015
L’intégration continue chez
AXA France Services
Yann Crumeyrolle
Laurent Nyffels
• Contexte AXA
• Principes et apports de l’IC
• Mise en œuvre de l’IC avec TFS 2012
• Questions / Réponses
Agenda
Intégration continue
Contexte AXA
Web Center
Missions & Challenges
Outils et axes de travail
• Département IT créé en janvier 2011 à Lille
• Dédié au développement des applications Web et
mobiles d’AXA France
• 10 équipes projets, 105 personnes dont plus de
80 développeurs
• Delivery 2012 : + 17 000 j/h produit, + de 100
releases livrées en production
Web Center
Intégration continue
• Missions – Développer des solutions métiers innovantes
– Maintenir le patrimoine applicatif
– Réduire le Time To Market
• Challenges – Montée en charge très rapide
Industrialiser les développements
Contrôler la qualité de nos livrables
Missions & Challenges
Intégration continue
Outils et axes de travail
Intégration continue
AGILE
MS Scrum 1.0
DEVELOPPEMENT
Visual Studio Ultimate
REPORTING
Outils custom
API TFS
INTEGRATION CONTINUE
Team Build
TFS
Principes et
apports de l’IC
Motivations
Principes et objectifs
Etapes d’une Build
Infrastructure générale
• Projets à fortes intégrations SI• Détecter au plus tôt les problèmes d’intégration
• Projets menés en Agile• Livraisons fréquentes Automatiser les livraisons
• Accepter le changement en cours de projets
S’assurer de la non-régression fonctionnelle et de la
qualité constante du produit
Motivations
Intégration continue
Principes et objectif
Intégration continue
Etapes d’une Build
Intégration continue
Compilation
du code à
partir d’un
référentiel
•Détection des
problèmes
d’archivage au plus
tôt
Exécution
des tests
automatisés
•Suivi des problèmes
de régression
Contrôle
qualité du
code
•Suivi de la
qualité du code
Publication
des résultats
•Actions en cas de
problème
Génération
des
packages
Déploiement
automatique
•Démonstration des
évolutions en
continue
• Gain à chaque étape
Infrastructure générale
Intégration continue
Poste développeur
Référentiel Gestion
Configuration
Serveur d’intégration
Serveur de déploiement
1 : Check In (changements)2 : Détection des changements3 : Exécution de la Build- Compilation- Tests unitaires- Analyse du code- Génération des packages
4 : Notification des résultats (rapport)5 : Déploiement des packages
1
2
3
4
5
Mise en œuvre de
l’IC avec TFS 2012
Types de Builds mise en place chez AXA
Composants impactés
Infrastructure
Démonstrations
• Build d’intégration continue
• Build planifiée
• Build de livraison
• Build de déploiement
Types de Build mise en place chez AXA
Intégration continue
Compilation du code
Exécution des tests
automatisés
Contrôle qualité du
code
Publication des résultats
Génération des packages
Déploiement automatique
Compilation du code
Exécution des tests
automatisés
Contrôle qualité du
code
Publication des résultats
Génération des packages
Déploiement automatique
Compilation du code
Exécution des tests
automatisés
Contrôle qualité du
code
Publication des résultats
Génération des packages
Déploiement automatique
Compilation du code
Exécution des tests
automatisés
Contrôle qualité du
code
Publication des résultats
Génération des packages
Déploiement automatique
• Les Builds sont réalisés par des agents
• Un agent de Build est un service Windows qui prend en charge le processus de Build.
• Les agents sont gérés par un contrôleur de Build
Infrastructure mise en place chez AXA
Intégration continue
Intégration continue
• Team Build– Basé sur WorkFlow Foundation
– Exécute des activités dans un ordre spécifique
– Template de fichier au format XAML
• DefaultTemplate.xaml
• LabDefaultTemplate.xaml (lab management)
Infrastructure
Démonstrations de la mise en place d’une
Build de base
• Démo : Présentation de l’application EOL Partenariat
• Démo : Définition et paramétrage d’une build
• Démo : Lancement d’une build et obtention du rapport
Intégration continue
Compilation du code
Exécution des tests
automatisés
Contrôle qualité du
code
Publication des résultats
Génération des packages
Déploiement automatique
Démonstration de la customisation d’une
Build
• Démo : Ajout des rapports de qualité de code avec
nDepend
Intégration continue
Compilation du code
Exécution des tests
automatisés
Contrôle qualité du
code
Publication des résultats
Génération des packages
Déploiement automatique
Intégration continue
Démonstration de l’utilisation de l’API TFS
• Démo : Publication des résultats
Compilation du code
Exécution des tests
automatisés
Contrôle qualité du
code
Publication des
résultats
Génération des
packages
Déploiement automatique
Intégration continue
• Composant de TFS proposant un système automatisé
d’environnement de recette
• Lab Management permet :– Déployer l’installation sur une ou plusieurs VM à la fin de la build
– Exécuter des tests d’intégration
Déploiement continue avec Lab
Management
Compilation du code
Exécution des tests
automatisés
Contrôle qualité du
code
Publication des résultats
Génération des packages
Déploiement automatique
Intégration continue
• Gains– Meilleur suivi des problématiques d’archivage
– Suivis des indicateurs qualité par les équipes projet et par le
management
– Démonstration en continue
• Perspectives– Intégration de l’équipe Tests/Qualif dans le processus avec Lab
Management
– Build multi technos / Plateforme
– Devops
Conclusion
Questions
Réponses