Continuous Integration, aka CI refers to the development practice of integrating work from team members frequently, but is also sometimes used as shorthand for the automated build systems that support that practice.

Continuous integration originated with Extreme Programming. Developers integrate their work frequently (at least daily) with a shared mainline (this assumes you're using source control), to avoid the "integration hell" of attempting to integrate a large amount of work.

This practice has now been adopted far more widely. It typically requires a build server which creates a build in response to a code check in, and then runs a suite of automated tests against it.

Martin Fowler's article is a good read: http://www.martinfowler.com/articles/continuousIntegration.html

history | excerpt history