Most web applications are changed and adapted frequently and quickly. Their environment, for example the size and the behaviour of the user base, are constantly changing. What was sufficient yesterday can be insufficient today. Especially in a web environment it is important to monitor and continuously improve the software quality not only when developing, but also when maintaining the software. The practice of Continuous Integration is the solution of choice to achieve this goal.
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily—leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. | ||
--Martin Fowler |
Continuous Integration reduces the amount of repetitive processes the developers need to perform when building or deploying the software thus reducing the risks of late discovery of defects, producing low-quality software, lack of project visibility as well as lack of deployable software.