Présentation d'une solution Mobile DevOps implémentée à l'aide des solutions Microsoft: Microsoft Azure, Visual Studio Team Services, HockeyApp et Xamarin Test Cloud. Présentée dans le cadre du meetup @While_42 du 21 septembre 2016 à Vente Privée.
Laissez-vous conter l'histoire de la princesse CI.
L'histoire se passe dans un monde peuplé de standards de code, de tests unitaires, fonctionnels et end-to-end.
Entourée de ses amis PHPCodeSniffer, PHPUnit, Behat, Eslint, Jest et Selenium, elle va se heurter à différents ennemis qui l'attendent au tournant :
- L'isolation des tests end-to-end
- Le split des tests sur CircleCI
- Les lenteurs de chargement des fixtures
- L'authentification dans les tests end-to-end
- La gestion des latences API dans les tests end-to-end
- La gestion de l'asynchrone avec l'arrivée dans le royaume de RabbitMQ et ElasticSearch
- L'optimisation de la stack Docker
Vous découvrirez comment elle va surmonter ces épreuves pour que cette histoire se termine en "happy end".
Guide d'installation de System Center Essentials 2010Assoune Yohann
Cette présentation a pour but de vous guider dans la mise en place d'un cluster sous Hyper-V Microsoft avec l'installation du produit de management System Center Essentials 2010 qui permet de gérer les environnements physiques et virtuels
Le "feature toggle", ou la capacité à activer ou désactiver une fonctionnalité à chaud, est souvent associée à une astuce de développement au service du Continuous Delivery. On peut pousser du code en production qui n'est pas complètement finalisé et introduire de la dette technique... mais il peut être tellement plus utile !!!!! Après un panorama de quelques cas d'usages très concrets, je vous propose de détailler les capacités du framework FF4J, les choix d'implémentation, les références en production, les killers features ainsi que les prochaines évolutions.
Laissez-vous conter l'histoire de la princesse CI.
L'histoire se passe dans un monde peuplé de standards de code, de tests unitaires, fonctionnels et end-to-end.
Entourée de ses amis PHPCodeSniffer, PHPUnit, Behat, Eslint, Jest et Selenium, elle va se heurter à différents ennemis qui l'attendent au tournant :
- L'isolation des tests end-to-end
- Le split des tests sur CircleCI
- Les lenteurs de chargement des fixtures
- L'authentification dans les tests end-to-end
- La gestion des latences API dans les tests end-to-end
- La gestion de l'asynchrone avec l'arrivée dans le royaume de RabbitMQ et ElasticSearch
- L'optimisation de la stack Docker
Vous découvrirez comment elle va surmonter ces épreuves pour que cette histoire se termine en "happy end".
Guide d'installation de System Center Essentials 2010Assoune Yohann
Cette présentation a pour but de vous guider dans la mise en place d'un cluster sous Hyper-V Microsoft avec l'installation du produit de management System Center Essentials 2010 qui permet de gérer les environnements physiques et virtuels
Le "feature toggle", ou la capacité à activer ou désactiver une fonctionnalité à chaud, est souvent associée à une astuce de développement au service du Continuous Delivery. On peut pousser du code en production qui n'est pas complètement finalisé et introduire de la dette technique... mais il peut être tellement plus utile !!!!! Après un panorama de quelques cas d'usages très concrets, je vous propose de détailler les capacités du framework FF4J, les choix d'implémentation, les références en production, les killers features ainsi que les prochaines évolutions.
Déploiement dans Azure depuis Visual Studio Team ServicesAdrien Siffermann
Présentation d'un flux de déploiement d'une Azure WebApp et d'une base de données SQL Azure entièrement automatisé avec Visual Studio Team Services. Présentée dans le cadre du meetup AZUG FR du 15 septembre 2016.
Pour tous dev mobile, que ce soit seul ou en équipe, le déploiement d'une app sur le store de Google ou d'Apple est un passage (quasi) obligatoire.
Android et iOS sont différents jusque dans les IDE et les outils de build. Mais au delà de XCode, Android Studio, gradle... des libraries tels que fastlane vont tenter de réconcilier (un peu) les deux univers.
Nous allons voir comment intégrer la phase de publication dans le processus de build. Et cela via quelques lignes de script ou même directement dans les outils d'intégration continue tel que Jenkins.
Pour tous dev mobile, que ce soit seul ou en équipe, le déploiement d'une app sur le store de Google ou d'Apple est un passage (quasi) obligatoire.
Android et iOS sont différents jusque dans les IDE et les outils de build. Mais au delà de XCode, Android Studio, gradle... des libraries tels que fastlane vont tenter de réconcilier (un peu) les deux univers.
Nous allons voir comment intégrer la phase de publication dans le processus de build. Et cela via quelques lignes de script ou même directement dans les outils d'intégration continue tel que Jenkins
Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobileAdrien Siffermann
Permis de tester
Disclaimer : Cette session ne s’adresse pas à ceux qui pensent que c’est une bonne idée d’affirmer :
• « On testera si on a le temps »,
• « Les utilisateurs nous remonteront les bugs »
• « Les développeurs testent et débuguent ce qu’ils ont conçu, c'est suffisant pour garantir la qualité de l‘application mobile »
• « Un test réussi sur un smartphone garantit que l’application fonctionne sur tous les autres appareils du même OS »
• « Le test d'application mobile, c'est comme le test de site web »
Cette session « Tester, Monitorer et Déployer son application mobile » est pour ceux qui ont conscience qu’une application offrant une expérience décevante est synonyme :
• D’abandon pur et simple par +60% de ses utilisateurs
• D’un changement immédiat pour la concurrence pour 34% d’entre eux
• D’un impact négatif pour la marque (réseau sociaux, rating, bouche à oreilles) par la moitié des utilisateurs
Au final, pas besoin de s’appeler Bond pour éliminer les bugs de votre app !
Inscrivez vous pour découvrir quels sont les usages du « testing mobile » et comment Visual Studio Team Services, Xamarin Tests Cloud & Hockey App, vous permettront d’améliorer la qualité de vos applications mobiles pour iOS, Android & Windows.
Tester, Monitorer et Déployer son application mobileMicrosoft
"Permis de tester
Disclaimer : Cette session ne s’adresse pas à ceux qui pensent que c’est une bonne idée d’affirmer :
• « On testera si on a le temps »,
• « Les utilisateurs nous remonteront les bugs »
• « Les développeurs testent et débuguent ce qu’ils ont conçu, c'est suffisant pour garantir la qualité de l‘application mobile »
• « Un test réussi sur un smartphone garantit que l’application fonctionne sur tous les autres appareils du même OS »
• « Le test d'application mobile, c'est comme le test de site web »
Cette session « Tester, Monitorer et Déployer son application mobile » est pour ceux qui ont conscience qu’une application offrant une expérience décevante est synonyme :
• D’abandon pur et simple par +60% de ses utilisateurs
• D’un changement immédiat pour la concurrence pour 34% d’entre eux
• D’un impact négatif pour la marque (réseau sociaux, rating, bouche à oreilles) par la moitié des utilisateurs
Au final, pas besoin de s’appeler Bond pour éliminer les bugs de votre app !
Inscrivez vous pour découvrir quels sont les usages du « testing mobile » et comment Visual Studio Team Services, Xamarin Tests Cloud & Hockey App, vous permettront d’améliorer la qualité de vos applications mobiles pour iOS, Android & Windows."
Gérez votre laboratoire de tests avec Visual Studio 2010 Lab ManagementMicrosoft
Venez découvrir comment gérer vos environnements de tests virtuels via Visual Studio 2010 Lab Management et quels avantages cela apporte à vos testeurs fonctionnels et à votre IT : mise en place simplifiée, déploiement automatique de l’application, tests automatisés, snapshot, collecte de données en cas de bogues, … Nous ne manquerons pas non plus de parler des améliorations prévues pour Lab Manager dans TFS 11 !
Liferay france symposium 2012 - montée de version d’une instance liferaySébastien Le Marchand
Les montées de version du produit sont des étapes critiques dans la vie d'une application basée sur Liferay. Le portail Liferay fournit nativement des mécanismes efficaces pour mettre à jour sans difficultés la structure et les données de la base de données Liferay standard, mais une attention importante doit être portée à la migration des données et développements spécifiques, tout particulièrement pour les plugins de type « hook » et les plugins de type « ext ». Pendant cette session, les auditeurs ont bénéficié de retours d'expérience terrain et ont prise connaissance de patterns et d'astuces utiles pour assurer une montée de version en évitant les régressions et en maîtrisant la charge engagée.
Déploiement dans Azure depuis Visual Studio Team ServicesAdrien Siffermann
Présentation d'un flux de déploiement d'une Azure WebApp et d'une base de données SQL Azure entièrement automatisé avec Visual Studio Team Services. Présentée dans le cadre du meetup AZUG FR du 15 septembre 2016.
Pour tous dev mobile, que ce soit seul ou en équipe, le déploiement d'une app sur le store de Google ou d'Apple est un passage (quasi) obligatoire.
Android et iOS sont différents jusque dans les IDE et les outils de build. Mais au delà de XCode, Android Studio, gradle... des libraries tels que fastlane vont tenter de réconcilier (un peu) les deux univers.
Nous allons voir comment intégrer la phase de publication dans le processus de build. Et cela via quelques lignes de script ou même directement dans les outils d'intégration continue tel que Jenkins.
Pour tous dev mobile, que ce soit seul ou en équipe, le déploiement d'une app sur le store de Google ou d'Apple est un passage (quasi) obligatoire.
Android et iOS sont différents jusque dans les IDE et les outils de build. Mais au delà de XCode, Android Studio, gradle... des libraries tels que fastlane vont tenter de réconcilier (un peu) les deux univers.
Nous allons voir comment intégrer la phase de publication dans le processus de build. Et cela via quelques lignes de script ou même directement dans les outils d'intégration continue tel que Jenkins
Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobileAdrien Siffermann
Permis de tester
Disclaimer : Cette session ne s’adresse pas à ceux qui pensent que c’est une bonne idée d’affirmer :
• « On testera si on a le temps »,
• « Les utilisateurs nous remonteront les bugs »
• « Les développeurs testent et débuguent ce qu’ils ont conçu, c'est suffisant pour garantir la qualité de l‘application mobile »
• « Un test réussi sur un smartphone garantit que l’application fonctionne sur tous les autres appareils du même OS »
• « Le test d'application mobile, c'est comme le test de site web »
Cette session « Tester, Monitorer et Déployer son application mobile » est pour ceux qui ont conscience qu’une application offrant une expérience décevante est synonyme :
• D’abandon pur et simple par +60% de ses utilisateurs
• D’un changement immédiat pour la concurrence pour 34% d’entre eux
• D’un impact négatif pour la marque (réseau sociaux, rating, bouche à oreilles) par la moitié des utilisateurs
Au final, pas besoin de s’appeler Bond pour éliminer les bugs de votre app !
Inscrivez vous pour découvrir quels sont les usages du « testing mobile » et comment Visual Studio Team Services, Xamarin Tests Cloud & Hockey App, vous permettront d’améliorer la qualité de vos applications mobiles pour iOS, Android & Windows.
Tester, Monitorer et Déployer son application mobileMicrosoft
"Permis de tester
Disclaimer : Cette session ne s’adresse pas à ceux qui pensent que c’est une bonne idée d’affirmer :
• « On testera si on a le temps »,
• « Les utilisateurs nous remonteront les bugs »
• « Les développeurs testent et débuguent ce qu’ils ont conçu, c'est suffisant pour garantir la qualité de l‘application mobile »
• « Un test réussi sur un smartphone garantit que l’application fonctionne sur tous les autres appareils du même OS »
• « Le test d'application mobile, c'est comme le test de site web »
Cette session « Tester, Monitorer et Déployer son application mobile » est pour ceux qui ont conscience qu’une application offrant une expérience décevante est synonyme :
• D’abandon pur et simple par +60% de ses utilisateurs
• D’un changement immédiat pour la concurrence pour 34% d’entre eux
• D’un impact négatif pour la marque (réseau sociaux, rating, bouche à oreilles) par la moitié des utilisateurs
Au final, pas besoin de s’appeler Bond pour éliminer les bugs de votre app !
Inscrivez vous pour découvrir quels sont les usages du « testing mobile » et comment Visual Studio Team Services, Xamarin Tests Cloud & Hockey App, vous permettront d’améliorer la qualité de vos applications mobiles pour iOS, Android & Windows."
Gérez votre laboratoire de tests avec Visual Studio 2010 Lab ManagementMicrosoft
Venez découvrir comment gérer vos environnements de tests virtuels via Visual Studio 2010 Lab Management et quels avantages cela apporte à vos testeurs fonctionnels et à votre IT : mise en place simplifiée, déploiement automatique de l’application, tests automatisés, snapshot, collecte de données en cas de bogues, … Nous ne manquerons pas non plus de parler des améliorations prévues pour Lab Manager dans TFS 11 !
Liferay france symposium 2012 - montée de version d’une instance liferaySébastien Le Marchand
Les montées de version du produit sont des étapes critiques dans la vie d'une application basée sur Liferay. Le portail Liferay fournit nativement des mécanismes efficaces pour mettre à jour sans difficultés la structure et les données de la base de données Liferay standard, mais une attention importante doit être portée à la migration des données et développements spécifiques, tout particulièrement pour les plugins de type « hook » et les plugins de type « ext ». Pendant cette session, les auditeurs ont bénéficié de retours d'expérience terrain et ont prise connaissance de patterns et d'astuces utiles pour assurer une montée de version en évitant les régressions et en maîtrisant la charge engagée.
3. 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/
4. 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é manuellementProduction
« 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
7. Xamarin Test Cloud
Tests automatisés d’interface
graphique mobile
Exécutés sur chaque Pull
Request
Choix des devices
8. 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é manuellementProduction
« PRO »
-Edge
/
-Val
-Int
-Val
Edge
/
-Pre
/
-Pre
-Pro
Prod
9. 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é manuellementProduction
« PRO »
10. Releases
Déploiement des packages
générés par les builds
Front-end
APK, IPA
HockeyApp, Stores publics…
Back-end
WebDeploy, DACPAC
Azure
11. 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
Gestion fiable du cycle de vie des applications
Corrections à chaud, tout en préservant le cycle de développement
Limite les collisions entre développeurs lors des itérations
Conserve une agilité dans les développements