Continuous
Delivery
with Ease






Let me
run a command



Before
- 1-2 builds a day
- 5-15 minutes per build
After
- 5-20 builds a day
- 0* seconds per build


Quad Programming

Ingredients
- agile development process
- automated unit and functional tests
- VCS, obviously
- continuous integration server
- app testing platform

Communication
is the key



Acceptance criteria
Definition of Done
Definition of Ready

Kanban?
- Visualization
- Work in progress
- Lead/cycle time


Zero bugs tolerance

Automate communication?


Automated testing
- Espresso
- Spock

Version Control System






Git Flow
- master
- develop
- release && hotfix
- feature || flag


Release
git stash git checkout ... # update version in build.gradle or elsewhere git commit ... git checkout ... git merge ... git tag ... git checkout ... git merge ... git branch ... git push git push ...

Continuous Integration






Travis
- hosted
- paid
- YAML
- bash, gradle

Continuous Integration

Travis setup
language: android android: components: - build-tools-XX.Y.Z - extra-android-m2repository

Security & Trust
env: global: - secure: l9oaircRM9VBHMbt... - secure: dg14m8/CNWGdvpqP... openssl aes-256-cbc -d -k "$file_password" -in ci/app.keystore.enc -out ci/app.keystore

App testing platform






15 - 30 minutes

Testfairy
- modifies APK
- powerful stats
- screen recording
Crashlytics
- testers need to install Crashlytics app
- organizations
App testing platform



How?
curl https://app.testfairy.com/api/upload -F api_key="$testfairy_key" -F file=path/to/app-staging-debug.apk -F testers_groups='staging' -F comment="$COMMENT"

Delivery





~2 hours


Delivery





~2 hours



API for Google Play?
sudo pip install google-api-python-client python basic_upload_apks.py com.vielengames path/to/app-production-release.apk

Android
iOS?
Need working example?

Let us
look at the results

TU && Q || A

20off4DevFestLviv-droidconKrakow
Promo Code
Continuous Delivery with Ease / DevFest Ukraine 2015
By Maciej Górski
Continuous Delivery with Ease / DevFest Ukraine 2015
- 2,338