Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Software In Motion: Continuous Delivery for Mobile
Search
David Truxall
November 14, 2015
Programming
0
61
Software In Motion: Continuous Delivery for Mobile
Slides from my presentation at Detroit Dev Day 2015
David Truxall
November 14, 2015
Tweet
Share
More Decks by David Truxall
See All by David Truxall
Environment Configuration for JavaScript Apps
davetrux
0
790
Everyday Animations in Android
davetrux
0
800
Psychology Behind Compelling Apps
davetrux
0
1.3k
Accessibility In Android
davetrux
0
1.2k
Android Authentication in a Web World
davetrux
0
1.3k
Build Apps Users Want To Use
davetrux
0
1.6k
Bluetooth Low Energy Overview for iOS
davetrux
0
60
Mobile Authentication In the Web World
davetrux
1
53
iOS for Android Developers (with Swift)
davetrux
1
310
Other Decks in Programming
See All in Programming
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
370
C++20 射影変換
faithandbrave
0
280
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
120
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
300
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
0
120
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
110
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
250
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
110
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
190
JSAI2025 RecSysChallenge2024 優勝報告
unonao
1
450
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
540
ReadMoreTextView
fornewid
1
350
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building Adaptive Systems
keathley
43
2.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
KATA
mclloyd
29
14k
The Cost Of JavaScript in 2023
addyosmani
50
8.3k
Speed Design
sergeychernyshev
30
990
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Facilitating Awesome Meetings
lara
54
6.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
BBQ
matthewcrist
89
9.7k
Transcript
Software In Motion Continuous Delivery for Mobile. David Truxall, Ph.D.
About Me @davetrux http://blog.davidtruxall.com http://bit.ly/detdevday
DevOps Intersection of agile software development and IT infrastructure
Concepts – Continuous Integration – Build the app on every code commit
– Know when the app is working or broken – Fail early – Happens more often than you would imagine – Continuous Delivery – App is constantly tested – Deliverable to production at any time – Automated deployment
Mobile Problems – Multiple Platforms – Multiple Environments – App
Signing – Testing – Deployment 5
Goals – Consistency across platforms – Automation – Easy for
team 6
None
Continuous Integration Server 8
Build Scripts 9
Jenkins Tour 10
Infrastructure
Mobile Nodes 12
iOS Jenkins Node – Be reachable from the master –
Create a Jenkins user – Install Java – Install Gradle – Install Xcode – Generate SSH keypair 13
Gradle and iOS OpenBakery Gradle Xcode Plugin http://openbakery.org/gradle.html 14
iOS Demo 15
Android Jenkins Node – Be reachable from master – Install
Java – Install Apache or nginx to proxy Jenkins – Install Android SDK 16
Android and Gradle – Build Variants 17
Android Demo 18
Web Jenkins Node – Only JDK necessary 19
Java Web and Gradle – Cargo Plugin https://github.com/bmuschko/gradle-cargo-plugin 20
Java Web Demo 21
Testing 22
Automated Testing – Unit Tests – Functional Tests 23
Automated Test Demo 24
Static Code Analysis – FindBugs – Lint tools – SonarQube
25
SonarQube Demo 26
Deployment 27
Deployment 28
HockeyApp - Install
iOS Deployment 30
Resources – http://hockeyapp.net – https://aws.amazon.com/device-farm/ – https://github.com/bmuschko/gradle-cargo-plugin – http://calaba.sh/ – http://gradle.org/ – https://jenkins-ci.org/ – https://github.com/bmuschko/gradle-cargo-plugin – http://appfoundry.be/blog/2014/07/04/Xcode-Env- Configuration/
31
Shameless Plug @davetrux http://blog.davidtruxall.com http://bit.ly/detdevday