Continuous Integration (CI) is a development practice in software engineering to blend a code into a shared repository several times a day. Thereby it becomes more easier to detect bugs and locate them. Its beyond the traditional agile scrum process with build in and test automation process. CI tools have the running unit tests and acceptance test to submit work on a daily (or more frequent) basis and for continuous feedback mechanisms.
CI is helpful as it decreases the life span of a bug. The build up process is with Ant, Maven with Subversion, Perforce, CVS as software configuration management and server with Cruise Control, Hudson. The work around with CI is developer checks out working copy of code makes modifications and updates the same if successful, checks in modifications moves on to next task.
- Continually Integrating makes it easier to find the find problems. Hence less re-work.
- Visible Integration Results: Wherever there is break in integration, everyone knows about the break down.
- Fixing Bug: All the failed tests are given high priority. So that new code are added to the system.
- Output Is Objective.
Examples of Continuous Integration:
- Hudson Ant Configuration
- Cruise Control. NET (CC) build dashboard.
- Apache’s Continuum