SlideShare a Scribd company logo
1 of 17
Download to read offline
HELSINKI
BY
KOMPOZURE
REGISTER NOW  http://bit.ly/devops-hki-2018
FAUG #8
DEVOPS
MOBILE CLIENT RELEASES
Okko Oulasvirta
Principal Consultant MSCD ALM
okko.oulasvirta@kompozure.com
@OkkoOulasvirta
Global DevOps Boot Camp HKI 2018  http://bit.ly/devops-hki-2018
KOMPOZURE
FAUG #8
DEVOPS: MOBILE CLIENT RELEASES
VISUAL STUDIO TEAM SERVICES
VISUAL STUDIO APP CENTER
GOOGLE PLAY
MOBILE APP RELEASE PIPELINE
VSTS App Center Google Play
Production app
Apple Itunes
TestFlight app
Production app
GIT
master
CI Build
iOS
Simulation
app.ipa
iOS
ALPHA
app.ipa
Android
Simulation
app.apk
Android
ALPHA
app.apk
CD Release
App Center
UI Testing
Environment
Automated UI tests
iOS devices
DEV Team
Android devices
Android devices
App Center
DEV Team
Devices
iOS devices
ALPHA
Approval
Pull Request
Closed Beta app
Closed Alpha app
BETA
PROD
Release
Validation
iOS
BETA,PROD
app.ipa
Android
BETA,PROD
app.apk
KEY POINTS FOR MOBILE BUILD
• Build all app configs from same commit
• UI-TEST, DEV, TEST, PROD, etc.
• Modify config appsettings.json, Android/iOS manifest
files etc. before build task
• Build number format 1.0.$(Build.BuildID)
• Increment app version code, version name using
$(Build.BuildNumber)
• Use different package name and label for different
configurations
• Keep your signing certificates safe with VSTS secured
files
• Publish different artifacts for different branches
• Run task with custom conditions to support multiple
branches  and(succeeded(),
eq(variables['Build.SourceBranch'], 'refs/heads/master’))
• NEWS ALERT! You can also build iOS apps with VSTS hosted
build agent (preview)
KEY POINTS FOR MOBILE RELEASE
Use Visual Studio App Center automated UI tests to ensure basic
functionality of your app
• Use pre- and post deployment approvals
• Use pre- and post deployment gates
NOTE: UI test may take up to 5 minutes to run per device
AUTOMATED UI TEST - PRICING
Scale UI testing with concurrent devices: each concurrent testing device (30h/mo) costs
99$ per month and for enterprise use (no test time limit) price is 499$ per device.
Questions to ponder for UI tests price:
• How much your manual testing costs?
• How fast you want to be with your
release pipeline?
• Do you have enough testers and
devices?
• How many users do you lose if their
model and/or OS version on their
device is not supported?
BENEFITS…
Questions to ponder
for UI tests price:
• How much manual
testing costs?
• Do you have
enough testers and
devices?
• How many users
do you lose if their
device model OS
version
VISUAL STUDIO APP CENTER RELEASE
Install VSTS extension for App
Center
• Connect App Center to VSTS
with service endpoint using
App Token
• Use VSTS build/release
tasks to deploy UI tests and
distribute internally your
app via App Center
VISUAL STUDIO APP CENTER RELEASE
Testers are added to App
Center
• Azure AD account
• MS account
• Google account
• Github account
• App Center account
Testers are notified by
email for new app
releases.
GOOGLE PLAY RELEASE
Install VSTS extension for Google
Play
• Create Service Account in
Google Play
• Connect Google Play to VSTS
with service endpoint using
service account and private key
• Use VSTS build/release tasks to
• Ceate Google Play Alpha,
Beta, Production releases
• Promote release
• Make partial roll-outs
GOOGLE PLAY RELEASE
Closed Alpha/Beta testers are
invited to Google Play
• Google account
Google Play notifies users android
for new app releases.
• Create app to Google Play
• First deployment manually
(release config and signed with
certificate)
DEMO
SIMPLE XAMARIN BUILD
SIMPLE APP CENTER “APP LAUNCHES” TEST
FAUG #?
DEVOPS: AZURE RELEASES
ARM TEMPLATES, VSTS CI/CD PIPELINE
FAUG #?
DEVOPS: MOBILE TESTING
APP CENTER TESTING – “DEVICE IN THE CLOUD”
XAMARIN UITESTS
FAUG #?
DEVOPS: MOBILE MONITORING
AZURE APP CENTER
AZURE APPINSIGHTS
FAUG #?
SHARE CODE WITH NUGETS
VSTS PACKAGE MANAGEMENT
PRIVATE NUGETS, NPM, MAVEN…

More Related Content

What's hot

Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
Sauce Labs
 

What's hot (20)

An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium Desktop
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automation
 
Build mobile back-end (Restful API) by using Microsoft Azure Functions
Build mobile back-end (Restful API) by using Microsoft Azure FunctionsBuild mobile back-end (Restful API) by using Microsoft Azure Functions
Build mobile back-end (Restful API) by using Microsoft Azure Functions
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appium
 
Beyond Appium: Testing with Espresso & the Real Device Cloud
Beyond Appium: Testing with Espresso & the Real Device CloudBeyond Appium: Testing with Espresso & the Real Device Cloud
Beyond Appium: Testing with Espresso & the Real Device Cloud
 
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App TestingContinuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
 
One Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptOne Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One Script
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!
 
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
 
App center an overview
App center  an overviewApp center  an overview
App center an overview
 
On boarding Appium Open Source
On boarding Appium Open SourceOn boarding Appium Open Source
On boarding Appium Open Source
 
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality GameWhy Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
 
SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App Automatable
 
Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open Source
 
The operational side of Mobile Apps
The operational side of Mobile AppsThe operational side of Mobile Apps
The operational side of Mobile Apps
 

Similar to Finland Azure User Group #8 DevOps Mobile Client Releases

Speed upyourtest with_appium
Speed upyourtest with_appiumSpeed upyourtest with_appium
Speed upyourtest with_appium
VodqaBLR
 

Similar to Finland Azure User Group #8 DevOps Mobile Client Releases (20)

VSTS and VS AppCenter overview and mobile releases 2018-05-30
VSTS and VS AppCenter overview and mobile releases 2018-05-30VSTS and VS AppCenter overview and mobile releases 2018-05-30
VSTS and VS AppCenter overview and mobile releases 2018-05-30
 
03 02 - tizen app development with visual studio mobile center and team services
03 02 - tizen app development with visual studio mobile center and team services03 02 - tizen app development with visual studio mobile center and team services
03 02 - tizen app development with visual studio mobile center and team services
 
Azure slots for app deployment the continuous delivery way
Azure slots for app deployment the continuous delivery wayAzure slots for app deployment the continuous delivery way
Azure slots for app deployment the continuous delivery way
 
Mobile App Quality Roadmap for DevTest Teams
Mobile App Quality Roadmap for DevTest TeamsMobile App Quality Roadmap for DevTest Teams
Mobile App Quality Roadmap for DevTest Teams
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Optimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps PipelineOptimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps Pipeline
 
Continuous integration and delivery with Xamarin and VSTS
Continuous integration and delivery with Xamarin and VSTSContinuous integration and delivery with Xamarin and VSTS
Continuous integration and delivery with Xamarin and VSTS
 
Speed upyourtest with_appium
Speed upyourtest with_appiumSpeed upyourtest with_appium
Speed upyourtest with_appium
 
Mobile Devops Using VSTS
Mobile Devops Using VSTSMobile Devops Using VSTS
Mobile Devops Using VSTS
 
Visual Studio 2017 - Montreal Launch Event
Visual Studio 2017  - Montreal Launch EventVisual Studio 2017  - Montreal Launch Event
Visual Studio 2017 - Montreal Launch Event
 
DevOps at scale: A true story - WIDS2016
DevOps at scale: A true story - WIDS2016DevOps at scale: A true story - WIDS2016
DevOps at scale: A true story - WIDS2016
 
Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 
How to Add Perfecto to Your CI
How to Add Perfecto to Your CIHow to Add Perfecto to Your CI
How to Add Perfecto to Your CI
 
Leveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App DevelopmentLeveraging Microsoft Azure for Next Gen App Development
Leveraging Microsoft Azure for Next Gen App Development
 
Visual regression with applitools eyes
Visual regression with applitools eyesVisual regression with applitools eyes
Visual regression with applitools eyes
 
Test studio
Test studioTest studio
Test studio
 
Application Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 developmentApplication Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 development
 
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device Testing
 

More from Okko Oulasvirta (6)

Zure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayZure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training day
 
Global DevOps Bootcamp Helsinki keynote
Global DevOps Bootcamp Helsinki keynoteGlobal DevOps Bootcamp Helsinki keynote
Global DevOps Bootcamp Helsinki keynote
 
2 6 dev ops - paas a-b testing
2 6 dev ops - paas a-b testing2 6 dev ops - paas a-b testing
2 6 dev ops - paas a-b testing
 
1 7 dev ops - ci+cd pipeline
1 7 dev ops - ci+cd pipeline1 7 dev ops - ci+cd pipeline
1 7 dev ops - ci+cd pipeline
 
1 6 serverless
1 6 serverless1 6 serverless
1 6 serverless
 
1 2 dev ops - vsts overview
1 2 dev ops - vsts overview1 2 dev ops - vsts overview
1 2 dev ops - vsts overview
 

Recently uploaded

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (6)

Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdf
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 

Finland Azure User Group #8 DevOps Mobile Client Releases

  • 1. HELSINKI BY KOMPOZURE REGISTER NOW  http://bit.ly/devops-hki-2018
  • 2. FAUG #8 DEVOPS MOBILE CLIENT RELEASES Okko Oulasvirta Principal Consultant MSCD ALM okko.oulasvirta@kompozure.com @OkkoOulasvirta Global DevOps Boot Camp HKI 2018  http://bit.ly/devops-hki-2018 KOMPOZURE
  • 3. FAUG #8 DEVOPS: MOBILE CLIENT RELEASES VISUAL STUDIO TEAM SERVICES VISUAL STUDIO APP CENTER GOOGLE PLAY
  • 4. MOBILE APP RELEASE PIPELINE VSTS App Center Google Play Production app Apple Itunes TestFlight app Production app GIT master CI Build iOS Simulation app.ipa iOS ALPHA app.ipa Android Simulation app.apk Android ALPHA app.apk CD Release App Center UI Testing Environment Automated UI tests iOS devices DEV Team Android devices Android devices App Center DEV Team Devices iOS devices ALPHA Approval Pull Request Closed Beta app Closed Alpha app BETA PROD Release Validation iOS BETA,PROD app.ipa Android BETA,PROD app.apk
  • 5. KEY POINTS FOR MOBILE BUILD • Build all app configs from same commit • UI-TEST, DEV, TEST, PROD, etc. • Modify config appsettings.json, Android/iOS manifest files etc. before build task • Build number format 1.0.$(Build.BuildID) • Increment app version code, version name using $(Build.BuildNumber) • Use different package name and label for different configurations • Keep your signing certificates safe with VSTS secured files • Publish different artifacts for different branches • Run task with custom conditions to support multiple branches  and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master’)) • NEWS ALERT! You can also build iOS apps with VSTS hosted build agent (preview)
  • 6. KEY POINTS FOR MOBILE RELEASE Use Visual Studio App Center automated UI tests to ensure basic functionality of your app • Use pre- and post deployment approvals • Use pre- and post deployment gates NOTE: UI test may take up to 5 minutes to run per device
  • 7. AUTOMATED UI TEST - PRICING Scale UI testing with concurrent devices: each concurrent testing device (30h/mo) costs 99$ per month and for enterprise use (no test time limit) price is 499$ per device. Questions to ponder for UI tests price: • How much your manual testing costs? • How fast you want to be with your release pipeline? • Do you have enough testers and devices? • How many users do you lose if their model and/or OS version on their device is not supported?
  • 8. BENEFITS… Questions to ponder for UI tests price: • How much manual testing costs? • Do you have enough testers and devices? • How many users do you lose if their device model OS version
  • 9. VISUAL STUDIO APP CENTER RELEASE Install VSTS extension for App Center • Connect App Center to VSTS with service endpoint using App Token • Use VSTS build/release tasks to deploy UI tests and distribute internally your app via App Center
  • 10. VISUAL STUDIO APP CENTER RELEASE Testers are added to App Center • Azure AD account • MS account • Google account • Github account • App Center account Testers are notified by email for new app releases.
  • 11. GOOGLE PLAY RELEASE Install VSTS extension for Google Play • Create Service Account in Google Play • Connect Google Play to VSTS with service endpoint using service account and private key • Use VSTS build/release tasks to • Ceate Google Play Alpha, Beta, Production releases • Promote release • Make partial roll-outs
  • 12. GOOGLE PLAY RELEASE Closed Alpha/Beta testers are invited to Google Play • Google account Google Play notifies users android for new app releases. • Create app to Google Play • First deployment manually (release config and signed with certificate)
  • 13. DEMO SIMPLE XAMARIN BUILD SIMPLE APP CENTER “APP LAUNCHES” TEST
  • 14. FAUG #? DEVOPS: AZURE RELEASES ARM TEMPLATES, VSTS CI/CD PIPELINE
  • 15. FAUG #? DEVOPS: MOBILE TESTING APP CENTER TESTING – “DEVICE IN THE CLOUD” XAMARIN UITESTS
  • 16. FAUG #? DEVOPS: MOBILE MONITORING AZURE APP CENTER AZURE APPINSIGHTS
  • 17. FAUG #? SHARE CODE WITH NUGETS VSTS PACKAGE MANAGEMENT PRIVATE NUGETS, NPM, MAVEN…