Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Android Continuous Integration
Search
Enrique López Mañas
June 17, 2015
Programming
150
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android Continuous Integration
Presentation used at the DroidCon Tel Aviv
Enrique López Mañas
June 17, 2015
Transcript
88 slides
None
Agenda: -Intro -Jenkins -Gradle -Branching strategies -Testing -Outro
Ego slide Mobile Developer @ Sixt Google Developer Expert +EnriqueLópezMañas
@eenriquelopez
Continuous Integration Continuous merging Continuous testing Continuous building Continuous delivery
What do you need Jenkins Gradle A repository A merging
strategy Your project!
Jenkins Leading Continuous Integration Server Open Source Java Plugin Based
None
Powerful plugin system Android… Git… Bitbucket… Emulators..
nvie.com
None
None
None
master
master beta/stage
master alpha/develop beta/stage
master alpha/develop beta/stage
master alpha/develop beta/stage
master alpha/develop beta/stage
master alpha/develop beta/stage Initial commit
master alpha/develop beta/stage Initial commit
1.0.1 master alpha/develop beta/stage Initial commit
1.0.1 master alpha/develop beta/stage Initial commit feature-1
1.0.1 master alpha/develop beta/stage Initial commit feature-1
1.0.1 master alpha/develop beta/stage Initial commit feature-1
1.0.1 master alpha/develop beta/stage 1.0.2 Initial commit feature-1
1.0.1 master alpha/develop beta/stage 1.0.2 Initial commit feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 Initial commit feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 feature-1
feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 bug-1
feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
bug-1 feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
bug-1 bug-2 feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
bug-1 bug-2 feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
1.0.6 bug-1 bug-2 feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
1.0.6 bug-1 bug-2 bug-3 feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
1.0.6 bug-1 bug-2 bug-3 feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 1.0.8
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 1.0.8 hotfix
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.0.4 1.0.5
1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 1.0.8 1.0.9 hotfix
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.0.4
1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 1.0.8 1.0.9 hotfix
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.0.4
1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 1.0.8 1.0.9 hotfix
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.0.4
1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 1.0.8 1.0.9 hotfix
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.0.4
1.1.1 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 1.0.8 1.0.9 hotfix
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.0.4
1.1.1 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.0.4
1.1.1 1.1.2 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.0.4
1.1.1 1.1.2 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix 1.1.3
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.0.4
1.1.1 1.1.2 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix 1.1.3
1.0.1 master alpha/develop beta/stage 1.0.2 1.0.3 Initial commit 1.1.0 1.0.4
1.1.1 1.1.2 1.0.5 1.0.6 1.0.7 bug-1 bug-2 bug-3 feature-1 feature-2 feature-347 feature-348 1.0.8 1.0.9 hotfix 1.1.3 1.1.4
None
1.8.0 master alpha/develop beta/stage 1.7.7 1.6.18
1.8.0 master alpha/develop beta/stage 1.7.7 1.6.18
1.8.0 master alpha/develop beta/stage 1.7.7 1.6.18 bug-234
1.8.0 master alpha/develop beta/stage 1.7.7 1.7.8 1.6.18 bug-234
1.8.0 master alpha/develop beta/stage 1.7.7 1.7.8 1.6.18 bug-234 feature-254
1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.6.18 bug-234 feature-254
1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.6.18 bug-234 bug-643
feature-254
1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.6.18 hotfix bug-234
bug-643 feature-254
1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.6.18 1.6.19 hotfix
bug-234 bug-643 feature-254
1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.7.9 1.6.18 1.6.19
hotfix bug-234 bug-643 feature-254
1.8.0 master alpha/develop beta/stage 1.8.1 1.7.7 1.7.8 1.7.9 1.6.18 1.6.19
hotfix bug-234 bug-643 feature-254 feature-345
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.6.18
1.6.19 hotfix bug-234 bug-643 feature-254 feature-345
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 hotfix bug-234 bug-643 feature-254 feature-345
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 hotfix bug-234 bug-643 feature-254 feature-345
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 hotfix bug-234 bug-643 feature-254 feature-345
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 hotfix bug-234 bug-643 feature-254 feature-345
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.0 hotfix bug-234 bug-643 feature-254 feature-345
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.0 hotfix bug-234 bug-643 feature-254 feature-345 feature-347
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.0 hotfix bug-234 bug-643 feature-254 feature-345 feature-347
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.0 hotfix bug-234 bug-643 bug-233 feature-254 feature-345 feature-347
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.9.0 hotfix bug-234 bug-643 bug-233 feature-254 feature-345 feature-347
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 feature-254 feature-345 feature-347
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.8.6 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 feature-254 feature-345 feature-347
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.8.6 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.8.5 1.8.6 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.8.7 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.8.7 1.8.8 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.8.7 1.8.8 1.9.3 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
1.8.0 master alpha/develop beta/stage 1.8.1 1.8.2 1.7.7 1.7.8 1.7.9 1.7.10
1.6.18 1.6.19 1.7.11 1.8.3 1.8.4 1.9.1 1.9.2 1.8.5 1.8.6 1.8.7 1.8.8 1.9.3 1.9.4 1.9.0 hotfix bug-234 bug-643 bug-233 bug-245 bug-654 feature-254 feature-345 feature-347 feature-348
Project automation tool (Maven, Ant…) Groovy DSL
An entire discipline!
An entire discipline!
HockeyKit (free) Apphance (free) AppBlade (paid) Appaloosa (paid) Beta Builder
(freemium)
None
Thank you ! + Enrique López Mañas @eenriquelopez
More Decks by Enrique López Mañas
See All by Enrique López Mañas
Securing Android SDKs: A Defense-in-Depth
kikoso
0
24
Composifying Your Not-Compose Code
kikoso
0
86
KMP_for_Swift.pdf
kikoso
0
95
Android Benchmarking and other stories
kikoso
0
610
KMP for Mobile Developers
kikoso
0
130
Diving into Coroutines
kikoso
1
120
K/N for mobile developers (including libraries' snippets)
kikoso
0
140
Kotlin/Native for Multiplatform development
kikoso
0
100
TensorFlow for Mobile Developers
kikoso
0
21
Other Decks in Programming
See All in Programming
protojson における文字化けの扱い
kazuki1023
0
430
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2.1k
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
320
AI-Powered Domain-Driven Design
ziobrando
0
450
仕様駆動開発入門 (何を作るかを先に決めて渡す) | 目指せ Kiro マスター 05
inariku
PRO
2
160
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
170
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
250
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
190
Distance field of Julia set
kinakomoti321
0
320
どうしても Eloquent でリポジトリパターンをやりたいんだ #phpcon_niigata / phpcon-niigata-2026
shogogg
0
280
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
350
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.9k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
A Soul's Torment
seathinner
9
3.9k
Paper Plane
katiecoart
PRO
6
55k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
A Tale of Four Properties
chriscoyier
163
24k
Ruling the World: When Life Gets Gamed
codingconduct
0
440
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
480
Agile that works and the tools we love
rasmusluckow
331
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610