Introduction to Continuous Integration

As mentioned in Key Concepts in Modern Application Development, continuous integration (CI) is a software development practice whereby developers on a team regularly integrate their working copies of code to a shared repository. Once a change is integrated to the repository, the application is automatically rebuilt. Automated tests are run before and after the application is rebuilt, to check that no regressions are introduced. If any of the automated tests fail, developers can be notified automatically so that they can provide a fix.

Using continuous integration provides a number of benefits:

Tools that provide CI functionality are known as CI servers. There are many tools available that can be used as CI servers, but the following list shows some of the more commonly used:

For detailed information on how to use Enterprise Developer with Jenkins, see Using Enterprise Developer with Jenkins.