Continuous Integration using Cruise Control

Saturday, July 11, 2009

Abstract
The practice of continuous integration represents a fundamental shift in the process of building software. It takes integration, commonly an infrequent and painful exercise, and makes it a simple, core part of a developer's daily activities. Integrating continuously makes integration a part of the natural rhythm of coding, Continuous integration is about progressing steadily forward by taking small steps.
About Cruise Control
Cruise Control is a framework for a continuous build process. A web interface is provided to view the details of the current and previous builds.
The CruiseControl.NET Server offers several key features:
Integration with a variety of Source Control systems
Integration with other external tools Visual Studio Team system
Can build multiple projects on one server
Remote management and reporting


Applicable areas
This is applicable to any .NET technology based development project.

CruiseControl.NET Tools
The other applications in the CruiseControl.NET suite are:
Web Dashboard: A .NET web application that gives you a status and detailed view of the CruiseControl.NET projects and servers of project.
CCTray: A client System Tray application that enables you to see 'at a glance' the state of project from any machine on your network.
Cruise Control Configuration Files
Cruise control uses ccnet.config files for the configuration.
.



Business value generated
· After implementing Continuous Integration, the entire development process is streamlined.
· The build and deployment process is automated as against manual dependency earlier faced on build manager.
· At any point in time, the management can know the status of the code quality / builds.
· The dashboard is made available to the client as well so that they now have a transparent insight in the development process.
· The developers are happy as they now know their mistakes immediately after they check in the code, rather then very late at the time of delivery. This resulted in faster turn around time.

Tools & techniques used
· CruiseControl.Net – Continuous integration tool (
http://confluence.public.thoughtworks.org/display/CCNET/)
· TFS –Version Control Tool
· VSTS 2005– IDE for ASP.NET 2.0 development
· (
http://msdn.microsoft.com/en-us/library/ms181232(VS.80).aspx)

I. Take Away
· Automation of the build process reduces resource dependency that would come with it being done manually.
· Early detection of errors and defects, which results in reduced turnaround time to fix the same.
· Increased transparency as all the stake holders have access to all the reports generated and published via the CruiseControl dashboard.
· Reduces last minute surprises in the otherwise happening integration phase, which in turn reduces risk.


II. Resources
http://confluence.public.thoughtworks.org/display/CCNET/Documentation
http://msdn.microsoft.com/en-us/vsts2008/aa718916.aspx

0 comments:

Post a Comment

 
 
 
Your Ad Here