How to Implement Continuous Integration

[article]

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.

Summary
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.

References

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

 

About the author

Mario  Moreira's picture Mario Moreira

Mario Moreira is a columnist for the CM Journal, a writer for the Agile Journal, an author, an agile and CM expert for CA. He has worked in the CM field since 1986 and in the agile field since 1998. Mario has experience with numerous CM technologies and processes and has implemented CM on over 150 applications/products, which include establishing global SCM infrastructures. He is a certified ScrumMaster in the agile arena having implemented Scrum and XP practices. Mario is the author of Adapting Configuration Management for Agile Teams  and Software Configuration Management Implementation Roadmap. Also consider visiting Mario’s blog on CM for Agile and Agile adoption at http://cmforagile.blogspot.com/.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Sep 22
Sep 24
Oct 12
Nov 09