HOME

TheInfoList



OR:

In software development, CruiseControl is a
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
-based framework for a continuous build process. It includes, but is not limited to, plugins for email notification,
Ant Ants are eusocial insects of the family Formicidae and, along with the related wasps and bees, belong to the order Hymenoptera. Ants evolved from vespoid wasp ancestors in the Cretaceous period. More than 13,800 of an estimated total of ...
, 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. CruiseControl is free,
open-source software Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
, distributed under a
BSD The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
-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 Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and Greek mythology, mythology and of later Hellenistic religion and Hell ...
process, which periodically checks the
revision control system Revision Control System (RCS) is an early implementation of a version control system (VCS). It is a set of UNIX commands that allow multiple users to develop and maintain program code or documents. With RCS, users can make their own revisions of ...
for changes to the
codebase In software development, a codebase (or code base) is a collection of source code used to build a particular software system, application, or software component. Typically, a codebase includes only human-written source code files; thus, a codeb ...
, 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 The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaSc ...
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 homepage
by 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