Trisha Shetty (Editor)

CruiseControl

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Development status
  
dormant

Written in
  
Java

Developer(s)
  
CruiseControl development team

Initial release
  
March 30, 2001; 15 years ago (2001-03-30)

Stable release
  
2.8.4 / September 15, 2010 (2010-09-15)

Repository
  
svn.code.sf.net/p/cruisecontrol/code/

In software development, CruiseControl is a Java-based framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds. It allows one to perform a continuous integration of any software development process.

Contents

CruiseControl is free, open-source software, distributed under a BSD-style license. It was originally created by employees of ThoughtWorks to allow for continuous integration on a project they were working on. It was later extracted into a stand-alone application.

There is a version of CruiseControl for .NET called CruiseControl.NET (aka CCNet) and a version for Ruby called CruiseControl.rb.

The current version is 2.8.4, released in 2010.

Build loop

The build loop is designed to run as a daemon process, which periodically checks the revision control system for changes to the codebase, builds if necessary, and publishes a notice regarding the status of the software build.

Build reporting

CruiseControl provides two ways of reporting build status. The first (classic) reporting is the reporting JSP and the second is the dashboard.

Results JSP

The build reporting is designed to present the results of the CruiseControl build loop. It is based on a HTML report managed by a JSP page. The left side of the page displays whether CruiseControl is currently building a project, and provides links to the details of previous builds. The right side of the page presents the results of the build—including compilation errors, test results and details about what files have changed since the last build.

Dashboard

The dashboard was introduced in the 2.7 release. The dashboard is a web page to enable visualising the project build statuses. Previous project build results are colour-coded providing a snapshot of how the projects are doing at that moment. Users can hover the cursor over icons to see the name and information about the project. The 'Builds' tab of the dashboard shows all projects (colour-coded) sorted by name providing some more information.

References

CruiseControl Wikipedia