RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Implement Continuous Integration In Your Software Project

Continuous integration, or CI, brings developers closer to delivering error-free software flawlessly. Find out how to implement it.


Continuous integration (CI) is the implementation of a process for continuously verifying whether a piece of software is working. CI provides developers with feedback about whether the piece of software compiles, passes all kinds of tests, builds into deliverables, and so on. It alerts the developer when changes he or she has just committed caused the build to fail, allowing the developer to correct errors while it's still fairly painless. Integrating changes late in the software development process can be costly and it often leads to errors.

This article presents the essential practices for implementing CI in your software projects, using the process we employed at my company, TouK, as an example. We implemented CI using the following open source tools, which we gradually adopted over time:

You can see how they interact in Figure 1 below. There are alternative implementations of these tools and open source products should easily integrate into an ecosystem like this.

Continuous Intergration
Click here for larger image

Figure 1. Open Source Tools in Our Continuous Integration Implementation

There are two software engineering practices that are essential to beginning CI: collective code ownership and automated builds. Intrinsic to the first practice is some kind of source code management. We use Subversion and Git. Generally, our teams are free to choose tools that suit them best. We have very few rules, but we do expect that code in the repository will always work and can always be built with minimum effort after checkout. This requires some kind of build automation. We use various building tools (Ant, Maven, Gradle, make, etc.) and they all work in our common environment. So, if you exchange any code via email or build your project in an IDE, these are the first things to change.

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date