SlideShare a Scribd company logo
1 of 37
From Dev to Deployment
DevOps for Your Mobile App
Seth Valdetero
2
Senior Development Consultant
@valdetero
valdetero@gmail.com
linkedin.com/in/valdetero
github.com/valdetero
sparkhound.com/pages/blogs.aspx
Agenda
3
DevOps
Visual Studio Team Services (VSTS)
Build Agents
HockeyApp
Bitrise
DevOps
4
…automating the process of software delivery and infrastructure
changes.
It aims at establishing an environment where building, testing,
and releasing software can happen rapidly, frequently, and more
reliably.
en.wikipedia.org/wiki/DevOps
DevOps
5
Continuous Integration
Continuous Delivery
Continuous Deployment
en.wikipedia.org/wiki/Continuous_delivery#Relationship_to_continuous_deployment
VSTS
6
VSTS
7
Agent Pools
Agent Queues
PAT (Personal Access Tokens) / SSH Keys
VSTS - Demo
8
VSTS
9
Agent Pools / Queues
Build Agent
10
MacInCloud - $30/mo per agent
www.macincloud.com/pricing/build-agent-plans/vso-build-
agent-plan
Host your own - Free?
github.com/Microsoft/vsts-agent
MacInCloud
11
MacInCloud
12
support.macincloud.com/support/tickets/new
Host your own
13
github.com/Microsoft/vsts-agent
Download
Host your own
14
netitude.bc3tech.net/2016/02/04/final-chapter-continuous-mobile-deployment-with-vsts/
VSTS
15
Agent Pools / Queues
Build Definition
16
Extensions
marketplace.visualstudio.com/vsts/Build%20and%20release
Build Definition
17
Build Definition
18
Setup
Build Definition
19
Build / Test
Build Definition
20
Sign / Deploy
Build Definition
21
Notify
Build Definition - Demo
22
Build Definition
23
VSTS Export
gist.github.com/valdetero/c0cd0b4dbb36c50bb345943008df23b6
HockeyApp
24
HockeyApp
25
Create App(s)
Setup API Tokens
Bitrise
26
Bitrise
27
Link your Github and Xamarin accounts
bitrise.io/me/profile#/overview
Bitrise
28
Create your app
bitrise.io/dashboard
Workflow
29
Setup
Workflow
30
Build / Test
Workflow
31
Deploy / Notify
Bitrise- Demo
32
33
xamarin.com/dev-days
Questions?
34
Links
35
github.com/Microsoft/vsts-agent
visualstudio.com/en-us/docs/build/apps/mobile/Xamarin
windingroadway.blogspot.com/2016/05/setting-up-release-builds-with-xamarin.html
blogaboutxamarin.com/xamarin-dev-ops-with-vsts-getting-started/
solola.ca/xamarin-macincloud-vsts-part1/
support.macincloud.com/support/solutions/articles/8000016614-getting-started-with-the-
macincloud-vsts-build-agent-plan
netitude.bc3tech.net/2016/02/04/final-chapter-continuous-mobile-deployment-with-vsts/
blog.verslu.is/xamarin/continuous-integrationcontinuous-delivery-for-your-xamarin-app-
with-vsts-and-hockeyapp-part-1/
aka.ms/MobileDev1
nkdagility.com/open-source-vsts-tfs-github-better-devops/
mobilefirstcloudfirst.net/2016/03/07/continuous-deployment-of-xamarin-ios-apps-to-
hockeyapp-using-vsts/
Thanks for Attending
SQL Saturday Baton Rouge 2016!
• Speaker evaluations: Use the small
square cards at the front of the
classroom, give directly to speaker
• Speaker: Please give out 1 book ticket
• Book Ticket Winner: Bring your ticket
to the user group booth in the main
atrium to redeem (supplies limited)
DevOps for Your Mobile App

More Related Content

What's hot

7 key features of node js
7 key features of node js7 key features of node js
7 key features of node jsIndumathySK
 
DevSecCon London 2018: Open DevSecOps
DevSecCon London 2018: Open DevSecOpsDevSecCon London 2018: Open DevSecOps
DevSecCon London 2018: Open DevSecOpsDevSecCon
 
MITT - Security OSS in DevOps
MITT - Security OSS in DevOpsMITT - Security OSS in DevOps
MITT - Security OSS in DevOpsEng Teong Cheah
 
Implementation of SAST for Android Application
Implementation of SAST for Android ApplicationImplementation of SAST for Android Application
Implementation of SAST for Android Applicationsanjeevakumar methre
 
Introducing DevSecOps by Madhu Akula - Software Security Bangalore - May 27 2...
Introducing DevSecOps by Madhu Akula - Software Security Bangalore - May 27 2...Introducing DevSecOps by Madhu Akula - Software Security Bangalore - May 27 2...
Introducing DevSecOps by Madhu Akula - Software Security Bangalore - May 27 2...SecureSoftwareDevOn SecureSoftwareDevOn
 
DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2Sonatype
 
DevOps Days Columbus - Derek Weeks - 2019
DevOps Days Columbus - Derek Weeks - 2019DevOps Days Columbus - Derek Weeks - 2019
DevOps Days Columbus - Derek Weeks - 2019Sonatype
 
Second Screen Apps with the Google Cast SDK
Second Screen Apps with the Google Cast SDKSecond Screen Apps with the Google Cast SDK
Second Screen Apps with the Google Cast SDKKevin Whinnery
 
Expose a Rest Service to the web within minutes with WSO2 App Factory
Expose a Rest Service to the web within minutes with WSO2 App Factory Expose a Rest Service to the web within minutes with WSO2 App Factory
Expose a Rest Service to the web within minutes with WSO2 App Factory WSO2
 
Scale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration Pipeline Scale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration Pipeline DevOps.com
 
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...SlideTeam
 
How to Secure Containerized Applications
How to Secure Containerized ApplicationsHow to Secure Containerized Applications
How to Secure Containerized ApplicationsDevOps.com
 
RSAC DevSecOpsDays 2018 - We are all Equifax
RSAC DevSecOpsDays 2018 - We are all EquifaxRSAC DevSecOpsDays 2018 - We are all Equifax
RSAC DevSecOpsDays 2018 - We are all EquifaxSonatype
 
Dev week cloud world conf2021
Dev week cloud world conf2021Dev week cloud world conf2021
Dev week cloud world conf2021Archana Joshi
 
DevSecOps The Evolution of DevOps
DevSecOps The Evolution of DevOpsDevSecOps The Evolution of DevOps
DevSecOps The Evolution of DevOpsMichael Man
 
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...Roberto Sanz Ciriano
 
PIACERE - DevSecOps Automated
PIACERE - DevSecOps AutomatedPIACERE - DevSecOps Automated
PIACERE - DevSecOps AutomatedPIACERE
 

What's hot (20)

7 key features of node js
7 key features of node js7 key features of node js
7 key features of node js
 
Continuous SDK
Continuous SDKContinuous SDK
Continuous SDK
 
DevSecCon London 2018: Open DevSecOps
DevSecCon London 2018: Open DevSecOpsDevSecCon London 2018: Open DevSecOps
DevSecCon London 2018: Open DevSecOps
 
MITT - Security OSS in DevOps
MITT - Security OSS in DevOpsMITT - Security OSS in DevOps
MITT - Security OSS in DevOps
 
Implementation of SAST for Android Application
Implementation of SAST for Android ApplicationImplementation of SAST for Android Application
Implementation of SAST for Android Application
 
Introducing DevSecOps by Madhu Akula - Software Security Bangalore - May 27 2...
Introducing DevSecOps by Madhu Akula - Software Security Bangalore - May 27 2...Introducing DevSecOps by Madhu Akula - Software Security Bangalore - May 27 2...
Introducing DevSecOps by Madhu Akula - Software Security Bangalore - May 27 2...
 
DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2DevOps and Continuous Delivery Reference Architectures - Volume 2
DevOps and Continuous Delivery Reference Architectures - Volume 2
 
DevOps Days Columbus - Derek Weeks - 2019
DevOps Days Columbus - Derek Weeks - 2019DevOps Days Columbus - Derek Weeks - 2019
DevOps Days Columbus - Derek Weeks - 2019
 
Second Screen Apps with the Google Cast SDK
Second Screen Apps with the Google Cast SDKSecond Screen Apps with the Google Cast SDK
Second Screen Apps with the Google Cast SDK
 
ESAPI
ESAPIESAPI
ESAPI
 
Expose a Rest Service to the web within minutes with WSO2 App Factory
Expose a Rest Service to the web within minutes with WSO2 App Factory Expose a Rest Service to the web within minutes with WSO2 App Factory
Expose a Rest Service to the web within minutes with WSO2 App Factory
 
DevOps
DevOpsDevOps
DevOps
 
Scale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration Pipeline Scale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration Pipeline
 
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
 
How to Secure Containerized Applications
How to Secure Containerized ApplicationsHow to Secure Containerized Applications
How to Secure Containerized Applications
 
RSAC DevSecOpsDays 2018 - We are all Equifax
RSAC DevSecOpsDays 2018 - We are all EquifaxRSAC DevSecOpsDays 2018 - We are all Equifax
RSAC DevSecOpsDays 2018 - We are all Equifax
 
Dev week cloud world conf2021
Dev week cloud world conf2021Dev week cloud world conf2021
Dev week cloud world conf2021
 
DevSecOps The Evolution of DevOps
DevSecOps The Evolution of DevOpsDevSecOps The Evolution of DevOps
DevSecOps The Evolution of DevOps
 
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
DevOps y Continuos Delivery con Visual Studio Team Services y Azure Container...
 
PIACERE - DevSecOps Automated
PIACERE - DevSecOps AutomatedPIACERE - DevSecOps Automated
PIACERE - DevSecOps Automated
 

Viewers also liked

Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...Donny Wals
 
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...Leslie Dare
 
Real world apps with Xamarin and MVVM
Real world apps with Xamarin and MVVMReal world apps with Xamarin and MVVM
Real world apps with Xamarin and MVVMGill Cleeren
 
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
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFSMehdi Khalili
 

Viewers also liked (7)

Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
 
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
 
App Deployment on Cloud
App Deployment on CloudApp Deployment on Cloud
App Deployment on Cloud
 
Real world apps with Xamarin and MVVM
Real world apps with Xamarin and MVVMReal world apps with Xamarin and MVVM
Real world apps with Xamarin and MVVM
 
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
 
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
 

Similar to DevOps for Your Mobile App

.NET Application Modernization with PAS and Azure DevOps
.NET Application Modernization with PAS and Azure DevOps.NET Application Modernization with PAS and Azure DevOps
.NET Application Modernization with PAS and Azure DevOpsVMware Tanzu
 
20171024 文化大學 1 azure big data ai
20171024 文化大學 1 azure big data ai20171024 文化大學 1 azure big data ai
20171024 文化大學 1 azure big data aiMeng-Ru (Raymond) Tsai
 
Top devops solution providers
Top devops solution providersTop devops solution providers
Top devops solution providersayush gupta
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021Samaritan InfoTech
 
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Docker, Inc.
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoDaniel Semedo
 
Ravi Sahu Profile
Ravi Sahu ProfileRavi Sahu Profile
Ravi Sahu ProfileRavi Sahu
 
Visual Studio 2017 - Montreal Launch Event
Visual Studio 2017  - Montreal Launch EventVisual Studio 2017  - Montreal Launch Event
Visual Studio 2017 - Montreal Launch EventGuy Barrette
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesAndré Agostinho
 
7 flavours of devops implementation
7 flavours of devops implementation7 flavours of devops implementation
7 flavours of devops implementationAspire Systems
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"Stephanie Locke
 
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevProTop 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevProSofiaCarter4
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps Chetan Gordhan
 
Pragmatic Pipeline Security
Pragmatic Pipeline SecurityPragmatic Pipeline Security
Pragmatic Pipeline SecurityJames Wickett
 
AzureDevOps_Developer.pdf
AzureDevOps_Developer.pdfAzureDevOps_Developer.pdf
AzureDevOps_Developer.pdfkmani5
 
Continuous delivery using Azure and VSTS, Global Azure BootCamp 2017 - Estonia
Continuous delivery using Azure and VSTS, Global Azure BootCamp 2017 - EstoniaContinuous delivery using Azure and VSTS, Global Azure BootCamp 2017 - Estonia
Continuous delivery using Azure and VSTS, Global Azure BootCamp 2017 - EstoniaSolidify
 
Putting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/TestPutting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/TestRobert MacLean
 

Similar to DevOps for Your Mobile App (20)

.NET Application Modernization with PAS and Azure DevOps
.NET Application Modernization with PAS and Azure DevOps.NET Application Modernization with PAS and Azure DevOps
.NET Application Modernization with PAS and Azure DevOps
 
20171024 文化大學 1 azure big data ai
20171024 文化大學 1 azure big data ai20171024 文化大學 1 azure big data ai
20171024 文化大學 1 azure big data ai
 
Top devops solution providers
Top devops solution providersTop devops solution providers
Top devops solution providers
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
 
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximo
 
AjitMedhekar_Resume
AjitMedhekar_ResumeAjitMedhekar_Resume
AjitMedhekar_Resume
 
Ravi Sahu Profile
Ravi Sahu ProfileRavi Sahu Profile
Ravi Sahu Profile
 
Visual Studio 2017 - Montreal Launch Event
Visual Studio 2017  - Montreal Launch EventVisual Studio 2017  - Montreal Launch Event
Visual Studio 2017 - Montreal Launch Event
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Cloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct servicesCloud continuous integration- A distributed approach using distinct services
Cloud continuous integration- A distributed approach using distinct services
 
7 flavours of devops implementation
7 flavours of devops implementation7 flavours of devops implementation
7 flavours of devops implementation
 
Azure from scratch part 4
Azure from scratch part 4Azure from scratch part 4
Azure from scratch part 4
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
 
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevProTop 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
Pragmatic Pipeline Security
Pragmatic Pipeline SecurityPragmatic Pipeline Security
Pragmatic Pipeline Security
 
AzureDevOps_Developer.pdf
AzureDevOps_Developer.pdfAzureDevOps_Developer.pdf
AzureDevOps_Developer.pdf
 
Continuous delivery using Azure and VSTS, Global Azure BootCamp 2017 - Estonia
Continuous delivery using Azure and VSTS, Global Azure BootCamp 2017 - EstoniaContinuous delivery using Azure and VSTS, Global Azure BootCamp 2017 - Estonia
Continuous delivery using Azure and VSTS, Global Azure BootCamp 2017 - Estonia
 
Putting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/TestPutting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/Test
 

DevOps for Your Mobile App

Editor's Notes

  1. Continuous delivery is sometimes confused with continuous deployment. Continuous deployment means that every change is automatically deployed to production. Continuous delivery means that the team ensures every change can be deployed to production but may choose not to do it, usually due to business reasons. In order to do continuous deployment one must be doing continuous delivery.
  2. https://www.visualstudio.com/
  3. Needs Administrative Privileges https://<account>.visualstudio.com/_admin/_AgentPool https://<account>.visualstudio.com/<project>/_admin/_AgentQueue https://<account>.visualstudio.com/_details/security/tokens https://<account>.visualstudio.com/_details/security/keys
  4. MacInCloud Build Agent Plan: This plan is designed for Visual Studio Team Services (VSTS) users only for Continuous Integration. If you are seeking remote build capabilities for Visual Studio 2015 and Xamarin, you should instead choose from Managed Server Plans or Pay-As-You-Go Plans, with the "Enable Remote Build Port" add-on selected at the time of checkout.
  5. https://app.macincloud.com/clients/manage_certificate
  6. Create a support ticket (https://support.macincloud.com/support/tickets/new) if you get this error: error XA5205: The Android SDK Directory could not be found. Please set via /p:AndroidSdkDirectory. This is because the Android environment variable is not set. Blog that highlights this issue:
  7. https://github.com/Microsoft/vsts-agent
  8. http://netitude.bc3tech.net/2016/02/04/final-chapter-continuous-mobile-deployment-with-vsts/ https://dist.nuget.org/index.html #!/bin/sh curl -s -O https://dist.nuget.org/win-x86-commandline/v2.8.6/nuget.exe mono nuget.exe restore <yoursolution>.sln
  9. https://marketplace.visualstudio.com/vsts/Build%20and%20release?sortBy=Downloads
  10. iOS: Create App Package -> Yes Build for Simulator -> No Advanced -> Arguments -> /p:OutputPath=bin/$(BuildPlatform)/$(BuildConfiguration)/ Android: MSBuild Options -> Additional Arguments -> /t:SignAndroidPackage
  11. Repository -> Clean -> True If this is not set, then deploying to HockeyApp will have issues trying to find the right api/apk as multiple ones will be in the directory. Kick of build!
  12. https://gist.github.com/valdetero/c0cd0b4dbb36c50bb345943008df23b6
  13. https://rink.hockeyapp.net/
  14. https://rink.hockeyapp.net/manage/auth_tokens
  15. https://www.bitrise.io
  16. https://www.bitrise.io/me/profile#/overview
  17. https://www.bitrise.io/dashboard
  18. https://www.xamarin.com/dev-days