Intégration Continue pour Android
-
Upload
salma-es-salmani -
Category
Documents
-
view
977 -
download
0
description
Transcript of Intégration Continue pour Android
Présenté par :
Salma ES-SALMANI
Soutenance du Stage d’initiation
Serveur d’intégration continue
pour projets Android
Encadré par
Mr. Abdelwahed Mourabit
03/09/2013 Stage d'initiation Soft Centre
Soutenu devant les membres de jury
Pr. Mohammed BERRADA
2
Plan
03/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
Solution proposée
Démarche de réalisation du projet
Contexte du projet et problématique
Présentation de l’application réalisée
Conclusion
Société d’accueil
Solution Proposée
3
Conclusion
03/09/2013 Stage d'initiation Soft Centre
Centre de R&D spécialisé dans le développement logiciel
Fondé en 2010
Présentation de l’organisme d’accueil
Contexte du projet & Problématique
Présentation de l’application
Démarche de réalisation du projet
403/09/2013 Stage d'initiation Soft Centre
Domaines d’intervention
Solution Proposée ConclusionPrésentation de
l’organisme d’accueil
Contexte du projet & Problématique Présentation de
l’applicationDémarche de réalisation du projet
503/09/2013 Stage d'initiation Soft Centre
Environnement technologique turbulent et en mutation constante
Architectes rêveurs
Requêtes de changement du client incapable d’analyser son besoin efficacement
Contexte du projet
Contexte du projet & Problématique
Présentation de l’organisme d’accueil
Solution Proposée ConclusionPrésentation de
l’applicationDémarche de réalisation du projet
603/09/2013 Stage d'initiation Soft Centre
Contexte du projet & Problématique
Présentation de l’organisme d’accueil
Solution Proposée ConclusionPrésentation de
l’applicationDémarche de réalisation du projet
Contexte du projet
Contexte du projet
703/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Démarche de réalisation du projet
Solution ProposéeContexte duprojet
& Problématique
803/09/2013 Stage d'initiation Soft Centre
Contexte du projet
Contexte du projet & Problématique
Présentation de l’organisme d’accueil
Solution Proposée ConclusionPrésentation de
l’applicationDémarche de réalisation du projet
Le processus d’intégration continue a pour objectif de vérifier que
chaque mise à jour du code source ne génère pas de régressions et/ou
d’anomalies sur l’application en cours de développement
Problématique
903/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Démarche de réalisation du projet
Solution ProposéeContexte duprojet
& Problématique
Comment automatiser le déploiement des tests?
Comment travailler à plusieurs sur un même code source?
Comment réduire le temps d’une mise en production?
Comment s’assurer qu’une nouvelle fonctionnalité n’introduit pas de régression?
Solution proposée
1003/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
Problématique Solution Proposée
Démarche de réalisation du projet
Intérêt de l’intégration continue pour les applications mobiles
1103/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
Problématique Solution proposée
Démarche de réalisation du projet
Alors que les projets Java/.NET se déroulent généralement sur plusieurs
mois avec des équipes importantes, les projets d’applications mobiles sont
généralement plus courts avec des équipes plus petites.
Cela vaut-il donc le coup d’investir dans tous les moyens habituels (build,
intégration continue, …) qui peuvent paraître lourds et démesurés pour un tel
projet?
Intérêt de l’intégration continue pour les applications mobiles
1203/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
Problématique Solution Proposée
Solution Proposée
Dès lors que l’équipe de développement est constituée de plus d’une personne
Dans une optique de maintenance : l’application doit continuer de vivre et d’évoluer
Avoir une version rapidement montrable au marketing ou la MOA (maîtrise d’ouvrage)
Démarche de réalisation du projet
1303/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDémarche de réalisation du projet
Solution Proposée
Android a l’avantage d’être basé sur le langage Java. On bénéficie ainsi
des outils existants pour construire nos applications.
Pour chacune des étapes de l’intégration continue, nous avons choisi un
outil en se basant sur certains critères.
Gestionnaire de version
1403/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDémarche de réalisation du projet
Solution Proposée
Gestionnaire de version
1503/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDémarche de réalisation du projet
Solution Proposée
Système centralisé
+ Simplification de la gestion des versions
- Travail sans connexion au réseau, branches expérimentales
Système décentralisé
+ Chaque développeur travaille à son rythme, de façon désynchronisée des autres
Assemblage et build
1603/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDémarche de réalisation du projet
Solution Proposée
Ant Maven
Automatiser les opérations répétitives du développement logiciel (compilation, génération de documents …)
Moyens de configuration basés sur le format XML
Fourni par défaut avec Android
Gestion des dépendances
Serveur d’intégration continue
1703/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDémarche de réalisation du projet
Solution Proposée
Jenkins
Multitude des plugins existants
Open source et très répandu
Possibilité de répartir la charge des builds sur plusieurs serveurs
Qualimétrie
1803/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDémarche de réalisation du projet
Solution Proposée
Cet outil fournit une analyse complète de la qualité d’une application en affichant de nombreuses métriques sur les projets en cours.
Ces données permettent d’évaluer la qualité du code, et d’en connaître l’évolution au cours du développement
Configuration du serveur d’intégration continue
1903/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionPrésentation de l’application
Contexte du projet &
ProblématiqueDémarche de réalisation du projet
Solution Proposée
• Gestion de la sécurité : mettre en place des règles pour assigner
les rôles adéquats à chaque membre de l’équipe de développement
• Configuration des outils tiers (Ant, JDK, SDK Android, SVN,
Mercurial)
• Gestion des plugins : installation des extensions complémentaires
Préparer le projet
2003/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionContexte du
projet & Problématique
Présentation de l’application
Solution Proposée
Démarche de réalisation du projet
Dans le workspace d’eclipse, le développeur doit exécuter les
commandes suivantes :
• android update project –p android-app
• android update test-project –m ../app –p test
• ant clean debug
• ant clean debug install test
Publier le projet dans le gestionnaire de version
2103/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionContexte du
projet & Problématique
Présentation de l’application
Solution Proposée
Démarche de réalisation du projet
1.Créer un répertoire de dépôt pour gérer l’évolution des codes sources
Le dépôt est l’archive dans laquelle seront envoyées les
modifications faites à l’arborescence. Il peut se trouver sur un serveur
distant, sur un serveur situé dans les réseau local ou même sur notre
propre machine
2. Ajouter des projets dans le dépôt
Configuration d’un job dans Jenkins
2203/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionContexte du
projet & Problématique
Présentation de l’application
Solution Proposée
Démarche de réalisation du projet
Résultat
2303/09/2013 Stage d'initiation Soft Centre
Présentation de l’organisme d’accueil
ConclusionContexte du
projet & Problématique
Présentation de l’application
Solution Proposée
Démarche de réalisation du projet
Perspectives
2403/09/2013 Stage d'initiation Soft Centre
Conclusion
Présentation de l’organisme d’accueil
Contexte du projet &
Problématique
Solution Proposée
Démarche de réalisation du projet
Présentation de l’application
Perspectives
Construire une plateforme qui intègre toutes les technologies du développement mobile (iOS, Windows Phone, BlackBerryOS) ainsi que les frameworks web (Phonegap, Titanium)
Automatiser, au-delà des tests unitaires, le déploiement des applications mobiles dans les différents stores
Conclusion
2503/09/2013 Stage d'initiation Soft Centre
Conclusion
Présentation de l’organisme d’accueil
Contexte du projet &
Problématique
Solution Proposée
Démarche de réalisation du projet
Présentation de l’application
• Bilan professionnel : assimilation de nouvelles connaissances
informatiques en rapport direct avec les tendances du marché de
l’emploi
• Bilan personnel : expérience intéressante, rencontres enrichissantes
MERCI DE VOTRE ATTENTION
Questions - Réponses?
03/09/2013 26Stage d'initiation Soft Centre