In
software development
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invol ...
, CruiseControl is a
Java-based framework for a continuous
build
Build may refer to:
* Engineering something
* Construction
* Physical body stature, especially muscle size; usually of the human body
* Build (game engine), a 1995 first-person shooter engine
* "Build" (song), a 1987 song by The Housemartins
* ...
process. It includes, but is not limited to, plugins for email notification,
Ant, and various
source control
In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
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.
CruiseControl is
free
Free may refer to:
Concept
* Freedom, having the ability to do something, without having to obey anyone/anything
* Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism
* Emancipate, to procur ...
,
open-source software, distributed under a
BSD-style license. It was one of the first of its kind of software,
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
External links
Official CruiseControl homepageby
Martin Fowler and Matthew Foemmel
Introduction to CruiseControl(slide show)
CruiseControl for .NETCruiseControl for Ruby{{Webarchive, url=https://web.archive.org/web/20070222051103/http://cruisecontrolrb.thoughtworks.com/ , date=2007-02-22
by Pak-Tjun Chin
Big Visible Cruise Web Build Monitor
Compiling tools
Java development tools
Continuous integration
Software using the BSD license
Discontinued development tools