Intégration Continue pour Android

26
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

description

Stage d'initiation chez Soft Centre : ma.linkedin.com/pub/soft-centre/40/595/a51

Transcript of Intégration Continue pour Android

Page 1: 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

Page 2: Intégration Continue pour Android

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

Page 3: Intégration Continue pour Android

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

Page 4: Intégration Continue pour Android

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

Page 5: Intégration Continue pour Android

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

Page 6: Intégration Continue pour Android

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

Page 7: Intégration Continue pour Android

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

Page 8: Intégration Continue pour Android

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

Page 9: Intégration Continue pour Android

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?

Page 10: Intégration Continue pour Android

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

Page 11: Intégration Continue pour Android

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?

Page 12: Intégration Continue pour Android

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)

Page 13: Intégration Continue pour Android

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.

Page 14: Intégration Continue pour Android

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

Page 15: Intégration Continue pour Android

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

Page 16: Intégration Continue pour Android

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

Page 17: Intégration Continue pour Android

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

Page 18: Intégration Continue pour Android

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

Page 19: Intégration Continue pour Android

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

Page 20: Intégration Continue pour Android

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

Page 21: Intégration Continue pour Android

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

Page 22: Intégration Continue pour Android

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

Page 23: Intégration Continue pour Android

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

Page 24: Intégration Continue pour Android

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

Page 25: Intégration Continue pour Android

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

Page 26: Intégration Continue pour Android

MERCI DE VOTRE ATTENTION

Questions - Réponses?

03/09/2013 26Stage d'initiation Soft Centre