équipe Tech + Back office mobile) • 50 personnes • Plusieurs millions d'euros invesBs par an • Audience mobile cumulée : + de 30 millions de visites / mois • Un enjeu business important L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 5
et à u.liser • Performant • Modulaire • Réduire la maintenance au minimum L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 8
interne (temps de maintenance important) • Divers problèmes : OSX ou Xcode pas à jour, problèmes réseaux, simulateur qui plante, etc... L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 10
interne (temps de maintenance important) • Divers problèmes : OSX ou Xcode pas à jour, problèmes réseaux, simulateur qui plante, etc... Il nous fallait quelque chose de plus efficace ! L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 11
entre%en) • Réseaux (fiable et sans restric%on) • Sécurité (garan%r un environnement sécurisé) • Logiciels (installa%on / mise à jour) • Environnement sain (toujours dans un état "propre") L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 21
Fonc.onnels • Workflow de Déploiement • Workflow de Produc.on L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 26
ne passent pas, la Pull Request ne passe pas ! • Se déclenche à chaque pull request • Au push sur les branches develop, release et feat/* • Vérifie la configura3on du projet • No3fie GitHub et les devs via Slack L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 27
develop et release • Génère le changelog • Déploie la version sur Fabric Beta • No6fie les devs et la rece9e via Slack & email L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 28
pas de materiel, peu de logiciel • Des ou*ls simples et rapides à administrer • Modulaire • Intégra*ons avec Github, Slack, Fabric, AppStore, ... • Open Source L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 34
compte GitHub du commit au pseudo Slack • Vérifica'on de la configura0on du build Xcode • D'autres en cours de développement (Fauxpas / Infer / Privoxy) L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 41
• Calabash (Gherkin / Ruby) • 50+ tests de bout en bout • Tests de performances (Dynatrace) • Tests automa6sés des stats (en cours) L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 44
Temps d'une intégra1on : • 15-20 minutes pour les PRs • 25-30 minutes pour les déploiements • Plus de 1140 Pull Requests • Plus de 1600 déploiements sur Beta • Environ 2 semaines de gagnées par release L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 46
• Les devs n'ont plus à générer de version pour la QA ou le MKT • Meilleure réac)vité entre les devs et la QA (US + JIRA) • Meilleure autonomie des équipes • Simplifica)on et industrialisa)on de la soumission AppStore • Release toutes les 6 semaines (2 semaines de gagnées) L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 47
maximum • Performances des VM limitées (par;culièrement pour Calabash) • Accès aux ressources internes de l’entreprise : • Serveurs d'intégra;ons • JIRA L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 48
automa'sés • Vérifica'on des différentes configura1ons • Sérénité lors de refactorisa'on ou de nouveaux développements • Une version à jour & stable toujours disponible (QA, PO, MKT...) • NeJe augmenta'on de la vélocité des équipes • Cependant les performances de Bitrise ne sont pas op'males L'Intégra*on Con*nue @ PagesJaunes / Xebia's Mobile Things - 15 mars 2017 / @YellowTeam_iOS 49