Continuous Integration

Continuous Integration is the software engineering practice of committing every change to a software project to a revision control system (such as CVS or SVN). Upon integration the entire test suite is run against the new code base to detect any failures. If errors are found, the engineers can "roll back" changes or fix the source of the test failure and recommit the code. Large projects require that the new build and testing be run automatically by a background process, whenever code is committed. This practice yields several advantages: