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:
- Code is continuously available for release without further testing
- Errors and conflicts are found immediately after completing the new code, so developer memories are fresh
- Engineers learn to commit smaller amounts of code more frequently
