integration, the CM technology needs to be available on a centralized server. Good CM tools to consider (but not limited too) are AccuRev, ClearCase, Perforce, and SerenaVM. There is also CVS, the freeware CM tool.
· Continuous integration technology: The continuous integration technology is needed to monitor the CM repository in real time and then initiate events (e.g., kicks off the build, tests, and reports on the results) when it notices changes to the repository. There are various tools maturing in this space.
Using CruiseControl.Net as an example, this technology tracks the project’s CM repository for changes (based on check-ins), then uses NAnt to do the build. When the build is complete (whether successful or broken), an email notification is sent to the development team. This may then initiate some testing.
Continuous integration may be helpful for certain projects. It can help reduce the effort, complexity, and pain of large integrations by frequently building code and making it available to others. To begin applying the continuous integration approach, intelligent decision-making and planning must occur in the area of development methodology (to include Methodology options, development process, and cultural shift) and the infrastructure (CM technology, fast and central server, and continuous integration technology). The good news is that this shift in culture may have promise for the future of software development.
1. Continuous Integration by Martin Fowler & Matthew Foemmel - http://www.martinfowler.com/articles/continuousIntegration.html
2. The New Methodology by Martin Fowler - http://martinfowler.com/articles/newMethodology.html
3. XP (Extreme Programming) Integrate Often Lessons Learned - http://www.extremeprogramming.org/rules/integrateoften.html