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
810
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
55
iOS for Android Developers (with Swift)
davetrux
1
320
Other Decks in Programming
See All in Programming
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
210
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
240
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
830
RDoc meets YARD
okuramasafumi
4
170
MCPで実現するAIエージェント駆動のNext.jsアプリデバッグ手法
nyatinte
7
1.1k
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
390
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
300
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
720
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
はじめてのMaterial3 Expressive
ym223
2
240
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
8
3.4k
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
22
11k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Navigating Team Friction
lara
189
15k
Code Reviewing Like a Champion
maltzj
525
40k
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