13
Mobile DevOps Adrien Siffermann @ asiffermann 21/09/2016 - Inspiré de faits réels

Mobile DevOps @While_42

Embed Size (px)

Citation preview

Page 1: Mobile DevOps @While_42

Mobile DevOps

Adrien Siffermann@asiffermann

21/09/2016 - Inspiré de faits réels

Page 2: Mobile DevOps @While_42
Page 3: Mobile DevOps @While_42

GitFlow Isoler, suivre et valider les

développements

Deux branches principales Durée de vie infinie master : production-ready develop : intégration

Des branches de support Durée de vie limitée feature : développement en parallèle release : préparation des livraisons hotfix : corrections en production

http://nvie.com/posts/a-successful-git-branching-model/

Page 4: Mobile DevOps @While_42

Environnements develop 0.1.0-alpha.4 Version de développement

Integration« INT »

release/* ou hotfix/* 1.0.0-beta.0 Version à tester

Validation« VAL »

master 1.0.0+0 Données de production

Preproduction

« PRE »

Déploiement initié manuellement

Production« PRO »

Semantic Versionning 2.0.0 a.k.a. « Semver » Majeur : changements incompatibles

avec la version précédente Mineur : ajout de fonctionnalités

rétro compatibles Patch : bug fixes rétro compatibles Statut sémantique Nombre de changements

GitVersion

Page 5: Mobile DevOps @While_42

Un exemple avec les technos Microsoft

Page 6: Mobile DevOps @While_42

Builds Continuous Integration

Version, Build, Package

Toutes strictement identiques Utilisation des meta-tasks VSTS

Publication d’artifacts

http://geeklearning.io/the-9-steps-to-deploy-your-aspnet-core-10-application-to-azure-from-vsts/

Page 7: Mobile DevOps @While_42

Xamarin Test Cloud Tests automatisés

d’interface graphique mobile

Exécutés sur chaque Pull Request

Choix des devices

Page 8: Mobile DevOps @While_42

Back-end develop 0.1.0-alpha.4 Version de développement

Integration« INT »

release/* ou hotfix/* 1.0.0-beta.0 Version à tester

Validation« VAL »

master 1.0.0+0 Données de production

Preproduction

« PRE »

Déploiement initié manuellement

Production« PRO »

-Edge

/

-Val

-Int

-Val

Edge

/

-Pre

/

-Pre

-Pro

Prod

Page 9: Mobile DevOps @While_42

Front-end develop 0.1.0-alpha.4 Version de développement

Integration« INT »

release/* ou hotfix/* 1.0.0-beta.0 Version à tester

Validation« VAL »

master 1.0.0+0 Données de production

Preproduction

« PRE »

Déploiement initié manuellement

Production« PRO »

Page 10: Mobile DevOps @While_42

Releases Déploiement des

packages générés par les builds

Front-end APK, IPA HockeyApp, Stores publics…

Back-end WebDeploy, DACPAC Azure

Page 11: Mobile DevOps @While_42

Blue-Green deployment

http://martinfowler.com/bliki/BlueGreenDeployment.html

Deux environnements de production identiques Un actif, servant tout le traffic Un inactif, sur lequel on déploie la nouvelle

version

On intervertit le routage L’actif devient inactif, et inversement

Azure Web Apps Deployments Slots Un slot dédié au déploiement par

environnement

Page 12: Mobile DevOps @While_42

Q&A