Development of a new software product takes place over a significant period of time and very often there is more than one developer working on different elements of the same product. Each developer has to integrate all the newly written code into the existing or source code and make sure that the different elements all work as well when combined as they work in isolation. In the past this build would have been carried out at the end of the day or even at the end of the software development phase.
Continuous Integration describes the practice where the building and testing is carried out at more frequent intervals, for example every 15 minutes. This has many advantages:
A continuous integration server can help in the CI process. This server will automatically build the software each time a developer adds new code. It will then test the built software and notify the developers of the outcome of the test.
Developers often use a traffic light system to show the state of the latest build: green means the build was successful; amber indicating that a new build is being tested; and red meaning it has failed and the last developer to upload a change then has the responsibility of finding and fixing the bug