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
55
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
750
Everyday Animations in Android
davetrux
0
740
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.5k
Bluetooth Low Energy Overview for iOS
davetrux
0
51
Mobile Authentication In the Web World
davetrux
1
37
iOS for Android Developers (with Swift)
davetrux
1
240
Other Decks in Programming
See All in Programming
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
660
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
160
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
690
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
280
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
400
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
890
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
500
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
新宿ダンジョンを可視化してみた
satoshi7190
3
400
Java 22 Overview
kishida
1
200
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
1.1k
Node.js v22 で変わること
yosuke_furukawa
PRO
12
4k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
152
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Git: the NoSQL Database
bkeepers
PRO
423
63k
Automating Front-end Workflow
addyosmani
1357
200k
Debugging Ruby Performance
tmm1
70
11k
Side Projects
sachag
451
41k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Web development in the modern age
philhawksworth
203
10k
Music & Morning Musume
bryan
41
5.6k
Atom: Resistance is Futile
akmur
260
25k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
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