Using a Continuous Integration System - The Android Developer’s Cookbook: Building Applications with the Android SDK, Second Edition (2013)

The Android Developer’s Cookbook: Building Applications with the Android SDK, Second Edition (2013)

C. Using a Continuous Integration System

Continuous integration (CI) systems are generally used as part of the Agile or extreme programming model. The following lists the general workflow when using CI:

1. Developers check working code into a code repository.

2. The checked-in code is compiled on a build server.

3. Testing is performed (integration, unit, or both).

4. Code is then deployed to staging or production.

There are several options for the project-building process. Using a build system helps save time and reduces human error when it comes to repetitive building tasks. Table C.1 lists build tools that are available to help ease the build process.

Image

Table C.1 Build Tools Commonly Used with CI in Android Development

Build tools help to manage the build process; however, several full integration systems are available. While they are not strictly necessary, they can drastically reduce integration time by performing unit and integration testing along with project deployment. They more than prove their worth when a problem is found before a deployment has rolled out to production servers by saving the developer from potential customer frustration and even possible server downtime. Table C.2 lists some common CI systems.

Image

Table C.2 Common CI Systems