android's warp pipe

50
Android’s W a r p p i p e Pedro V i c E n t e - neteinstein @ everywhere

Upload: pedro-vicente

Post on 13-Apr-2017

278 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Android's Warp Pipe

Android’s Warp pipePedro VicEnte - neteinstein @ everywhere

Page 2: Android's Warp Pipe

Android’s Warp pipe

It is a me, Peeedro!

Pedro VicEnte - neteinstein @ everywhere

Page 3: Android's Warp Pipe

Android’s Warp pipe

Pedro VicEnte - neteinstein @ everywhere

It is a me, Peeedro!

Page 4: Android's Warp Pipe

Peeedro?

Android Developer since 2009

Currently a Minder (since January)

Pedro VicEnte - neteinstein @ everywhere

Page 5: Android's Warp Pipe

2009…

Page 6: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

WOW! Awesome phone!

Page 7: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Nevermind…

Page 8: Android's Warp Pipe
Page 9: Android's Warp Pipe

Mindwhaat?Pedro VicEnte - neteinstein @ everywhere

Self-Management

Total Responsibility Everything is… …everyone’s job!

Page 10: Android's Warp Pipe

Mindwhaat?Pedro VicEnte - neteinstein @ everywhere

Fail fast

Fail fast Learn fast Improve fast

Page 11: Android's Warp Pipe

MinderaPedro VicEnte - neteinstein @ everywhere

We use technology to build products we are proud of,

with people we love.

Page 12: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 13: Android's Warp Pipe

Why the pipe?

Pedro VicEnte - neteinstein @ everywhere

Page 14: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 15: Android's Warp Pipe

Don’t

Image from: https://www.flickr.com/photos/jawboneradio/128658130

Page 16: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Fight YoUR INNeR Monkey

Page 17: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Fight YoUR INNeR MonKey!

Continuous integrationBuild automation

UI testingUnit testing

Alpha releases

Beta releases

Page 18: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 19: Android's Warp Pipe
Page 20: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Case study

Page 21: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 22: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

All in on Continuos Delivery!

Page 23: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Handle flavours

Page 24: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

CI Configuration versioning

Page 25: Android's Warp Pipe

Automatic build versioning

MAJOR.MINOR.BUILD_NUMBER

Pedro VicEnte - neteinstein @ everywhere

Page 26: Android's Warp Pipe

Alfa & Beta testingPedro VicEnte - neteinstein @ everywhere

Page 27: Android's Warp Pipe

Plugin for Google Play upload

Pedro VicEnte - neteinstein @ everywhere

https://github.com/Mindera/gradle-versioncode-plugin

Page 28: Android's Warp Pipe

Plugin for Google Play upload

Pedro VicEnte - neteinstein @ everywhere

https://github.com/Triple-T/gradle-play-publisher

Page 29: Android's Warp Pipe

Image from: https://codeship.com/continuous-integration-essentials

Page 30: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 31: Android's Warp Pipe

Go!

Pedro VicEnte - neteinstein @ everywhere

Page 32: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 33: Android's Warp Pipe
Page 34: Android's Warp Pipe

Setup

Unit tests

UI Tests Upload to Play Store

Upload to HockeyApp

Page 35: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

buildTypes { debug { minifyEnabled false shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

applicationIdSuffix ".debug" buildConfigField("boolean", "UI_TESTING", "false") buildConfigField("boolean", "IAP_OVERRIDE", "true")

testCoverageEnabled true }

release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

buildConfigField("boolean", "UI_TESTING", "false") buildConfigField("boolean", "IAP_OVERRIDE", "false") }

}

Page 36: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

// Uitesting will be used to run Espresso ui tests. uitesting.initWith(buildTypes.release) uitesting { minifyEnabled false shrinkResources false applicationIdSuffix ".uitesting" debuggable true buildConfigField("boolean", "UI_TESTING", "true") buildConfigField("boolean", "IAP_OVERRIDE", "true")

testCoverageEnabled true }

// Alpha will be published to hockey app for QA testing. alpha.initWith(buildTypes.release) alpha { applicationIdSuffix ".alpha" debuggable true }

Page 37: Android's Warp Pipe

Hardware

Setup

Page 38: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 39: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 40: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 41: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 42: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 43: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 44: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 45: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 46: Android's Warp Pipe

Remember?Pedro VicEnte - neteinstein @ everywhere

Fail fast Learn fast Improve fast

Page 47: Android's Warp Pipe
Page 48: Android's Warp Pipe

Image from: http://orig08.deviantart.net/7ffc/f/2011/168/d/f/super_mario_64_in_16bit_by_guidowigger-d3j6afn.png

Page 49: Android's Warp Pipe

Pedro VicEnte - neteinstein @ everywhere

Page 50: Android's Warp Pipe

Android’s Warp pipe

Questions?

Pedro VicEnte - neteinstein @ everywhere