SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
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…

Weitere ähnliche Inhalte

Was ist angesagt?

An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium DesktopSauce Labs
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumSauce Labs
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automationSunny Tambi
 
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 FunctionsSuki Huang
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appiummoizjv
 
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 CloudSauce Labs
 
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 TestingSauce Labs
 
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 ScriptSauce Labs
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training QA Masters
 
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?Bitbar
 
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!Sauce Labs
 
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 CloudBees
 
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 WebinarBitbar
 
On boarding Appium Open Source
On boarding Appium Open SourceOn boarding Appium Open Source
On boarding Appium Open SourceAsaf Saar
 
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 GameAustin Marie Gay
 
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 AutomatableSauce Labs
 
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 SourcePerfecto by Perforce
 
The operational side of Mobile Apps
The operational side of Mobile AppsThe operational side of Mobile Apps
The operational side of Mobile AppsMobile Delivery Days
 

Was ist angesagt? (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
 

Ähnlich wie Finland Azure User Group #8 DevOps Mobile Client Releases

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-30Okko Oulasvirta
 
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 servicesAlexey Shulga
 
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 waywale ayandiran
 
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 TeamsPerfecto by Perforce
 
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 EnterpriseBitbar
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HEREStefan Verhoeff
 
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 PipelinePerfecto Mobile
 
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 VSTSGill Cleeren
 
Speed upyourtest with_appium
Speed upyourtest with_appiumSpeed upyourtest with_appium
Speed upyourtest with_appiumVodqaBLR
 
Mobile Devops Using VSTS
Mobile Devops Using VSTSMobile Devops Using VSTS
Mobile Devops Using VSTSKarthikeyan VK
 
Visual Studio 2017 - Montreal Launch Event
Visual Studio 2017  - Montreal Launch EventVisual Studio 2017  - Montreal Launch Event
Visual Studio 2017 - Montreal Launch EventGuy Barrette
 
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 - WIDS2016Davide Benvegnù
 
Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019Tobias Hoppenthaler
 
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 PlatformAngus Fox
 
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 DevelopmentWinWire Technologies Inc
 
Visual regression with applitools eyes
Visual regression with applitools eyesVisual regression with applitools eyes
Visual regression with applitools eyesShama Ugale
 
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 developmentChris O'Brien
 
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 TestingBitbar
 

Ähnlich wie 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
 

Mehr von Okko Oulasvirta

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 dayOkko Oulasvirta
 
Global DevOps Bootcamp Helsinki keynote
Global DevOps Bootcamp Helsinki keynoteGlobal DevOps Bootcamp Helsinki keynote
Global DevOps Bootcamp Helsinki keynoteOkko Oulasvirta
 
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 testingOkko Oulasvirta
 
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 pipelineOkko Oulasvirta
 
1 2 dev ops - vsts overview
1 2 dev ops - vsts overview1 2 dev ops - vsts overview
1 2 dev ops - vsts overviewOkko Oulasvirta
 

Mehr von 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
 

Kürzlich hochgeladen

Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsChandrakantDivate1
 
Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312wphillips114
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsChandrakantDivate1
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesChandrakantDivate1
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...nishasame66
 

Kürzlich hochgeladen (6)

Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 
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)
 
Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
 

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…