Presentation du socle technique Java open source Scub Foundation
Intégration Continue pour Android
1. 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.
3. 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
4. 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’application
Démarche de
réalisation du projet
5. 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
Conclusion
Présentation de
l’application
Démarche de
réalisation du projet
6. 603/09/2013 Stage d'initiation Soft Centre
Contexte du projet
& Problématique
Présentation de
l’organisme d’accueil
Solution
Proposée
Conclusion
Présentation de
l’application
Démarche de
réalisation du projet
Contexte du projet
7. Contexte du projet
703/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Démarche de
réalisation du projet
Solution
ProposéeContexte duprojet
& Problématique
8. 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
Conclusion
Présentation de
l’application
Dé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
9. Problématique
903/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Pré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?
10. Solution proposée
1003/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique Solution Proposée
Démarche de réalisation
du projet
11. 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
Conclusion
Pré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?
12. 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
Conclusion
Pré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)
13. Démarche de réalisation du projet
1303/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Dé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.
14. Gestionnaire de version
1403/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Démarche de réalisation du
projet
Solution
Proposée
15. Gestionnaire de version
1503/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Dé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
16. Assemblage et build
1603/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Dé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
17. Serveur d’intégration continue
1703/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Dé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
18. Qualimétrie
1803/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Dé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
19. Configuration du serveur d’intégration continue
1903/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Présentation de
l’application
Contexte du
projet &
Problématique
Dé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
20. Préparer le projet
2003/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Contexte 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
21. Publier le projet dans le gestionnaire de version
2103/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Contexte 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
22. Configuration d’un job dans Jenkins
2203/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Contexte du
projet &
Problématique
Présentation de
l’application
Solution
Proposée
Démarche de
réalisation du projet
23. Résultat
2303/09/2013 Stage d'initiation Soft Centre
Présentation de
l’organisme d’accueil
Conclusion
Contexte du
projet &
Problématique
Présentation de
l’application
Solution
Proposée
Démarche de
réalisation du projet
24. 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
25. 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
26. MERCI DE VOTRE ATTENTION
Questions - Réponses?
03/09/2013 26Stage d'initiation Soft Centre