Chapter 10Continuous Integration

WHAT'S IN THIS CHAPTER?

  • Installing Jenkins
  • Configuring Jenkins plugins
  • Integrating Android projects with Jenkins
  • Release management

The previous chapters covered how to manage dependencies, testing, and the Gradle build system, which are crucial pieces of the development life cycle. Those pieces are manually used and triggered. In this chapter, we cover continuous integration (CI) servers, which act as the cement between all other processes and convert them into an automated life cycle.

In this chapter you will learn more about CI and why you need it. You will also download and install your own CI server. Finally you learn how to set up a build job from a Git repository, how to trigger a build cycle on every commit, and how to publish your app automatically to Google Play.

WHAT IS CONTINUOUS INTEGRATION?

An important part of any software development process is getting reliable builds of the software. Despite its importance, we are often surprised when this isn't done. We stress a fully automated and reproducible build, including testing, that runs many times a day. This allows each developer to integrate daily thus reducing integration problems.

—Martin Fowler and Matthew Foemmel, “Continuous Integration” (http://martinfowler.com/articles/originalContinuousIntegration.html)

Every software project consists of libraries, modules, and classes that need to integrate with each other. Keeping the integration stable while each piece of integration ...

Get Expert Android Studio now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.