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, and has worked in the CM field since 1986 and in the Agile field since 1998. He 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. He holds an MA in Mass Communication with an emphasis on communication technologies. Mario also brings years of Project Management, Software Quality Assurance, Requirement Management, facilitation, and team building skills and experience. Mario is the author of a new book entitled “Adapting Configuration Management for Agile Teams” (via Wiley Publishing). It provides an Agile Primer and a CM Primer, and how to adapt CM practices for Agile Teams. Mario is also the author of the CM book entitled, “Software Configuration Management Implementation Roadmap.” It includes step-by-step guidance for implementing SCM at the organization, application, and project level with numerous examples. 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!