with every other developer • Requires build to be automated and self- testing • Makes results of the latest build visible 3 http://martinfowler.com/articles/continuousIntegration.html
and integration tests • Returning artifacts, test reports, code coverage reports etc. • Notifications • Deploying to continuous deployment tools 4 Practical outcomes that CI provides
Free for public GitHub repositories, starting from $129/mo for private ones • Easy to setup: always one .travis.yml file • Officially supports Android platform since 2014 6
uses • Commands/scripts you want to be executed before each build (e.g. install dependencies) • Command is used to run test suite • Emails, Campfire and IRC rooms to notify about failures 8
external hosted tool Coveralls, uses JaCoCo reports, from $5/mo • Limited functionality in uploading artifacts, but friendly with Amazon S3 • Scheduled builds only by external tool 9
BuildTools version used by your project - build-tools-19.1.0 # The SDK version used to compile your project - android-19 before_install: - chmod +x gradlew install: - ./gradlew assemble script: - ./gradlew test # For Robolectric tests 10
you want to be executed before each build (e.g. install dependencies) • What command is used to run test suite • Artifacts to collect • Nightly builds (using extra script) 12 Circle CI: configuration options
if [ ! -e $DEPS ]; then echo y | android update sdk -u -a -t android-19 && echo y | android update sdk -u -a -t platform-tools && echo y | android update sdk -u -a -t extra && echo y | android update sdk -u -a -t build-tools-19.1.0 && touch $DEPS fi 14
deployment API X X X X X Mobile version X X X Distribution list permissioning X X X X Cost First month free, next from $30/mo Free, limited to 1 app and 10 users Free Registration fee Free, limited to 1 app and 50 devices 20 http://www.thoughtworks.com/insights/blog/testflight-alternatives-android
in 2010 • Ship.io (ex CIsimple) : hosted, easy to setup, but still a startup with bugs & limited functionality • TeamCity by JetBrains : good IntelliJ products integration, server-based, has free version • Atlassian Bamboo : good JIRA integration, starts from $10/month 21