CI(Continues integration) is all about merging the developers working frequently, merging could be one or several times a day. Before integrating developers should build, test and run the code successfully. The main Idea behind CI is to prevent integration issues. Best CI implementation is when it contains test Driven development. In a teamwork, everyone should work with the latest version of the system, so in any case, every member of the team must commit the latest changes daily. Committing regularly reduce the conflicting changes and everyone can see the result of the latest changes and also everyone can see that who has made the changes and why. In this case, if there would be an error in the system, it could be detectible easier. Loner period of time between integration makes finding and solving the errors and bugs so hard and complex.
“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.” ~ Martin Fowler
As you can see them in the picture above, developer and tester receive the feedback and the latest version of the software after committing the changes. integration is a long and unpredictable process and should be done continuously. the most advantage of CI is that it reduces the risks, imagine in a large-scale application developer want to merge their changes after working a week on it, I think they would spend another week to fix bugs and errors and incompatible parts, so traditional ways could be risky solutions.
Refer to these addresses to get complete result
- http://martinfowler.com/articles/continuousIntegration.html
- http://www.thoughtworks.com/continuous-integration
Category: Software
Tags: Miscellaneous