Cruise Control

From HaFrWiki
Jump to: navigation, search

CruiseControl is a 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.

CruiseControl is not limited to the Java world, but can be used also with .net and other 3-party software.

Cruise Control is often used to implement integration with eXtreme Feedback Devices (XFDs).

Overview

CruiseControl is composed of 2 main modules:

  • Build loop
    Core of the system, it triggers build cycles then notifies various listeners (users) using various publishing techniques. The trigger can be internal (scheduled or upon changes in a SCM) or external.
    It is configured in a xml file which maps the build cycles to certain tasks, thanks to a system of plugins. Depending on configuration, it may produce build artifacts.
  • Reporting
    Allows the users to browse the results of the builds and access the artifacts

Cc-arch.png

Quick Start

Cruise Control is started by executing the cruisecontrol.bat (windows) or cruisecontrol.sh (Unix). To alter the behaviour of Cruise Control use the following command line options:


Standard Command Line

Flag Required Description
-configfile filename No Relative path to CruiseControl config file.
Defaults to "config.xml".
-debug No Changes the logging level of the internal log4j Logger to DEBUG.
Please note that this will NOT cause your ant scripts to run as if using 'ant -debug', you need to specify that in your config.xml file.
-help
-?
No Print the command line usage information.

Jetty Options

Flag Required Description
-webport port No Port number for Jetty.
Defaults to 8080, which means that you can access the Reporting Application at http://localhost:8080.
-cchome directory No The directory in which to execute CruiseControl.
Defaults to the current directory, i.e. ".".
-ccname name No A logical name to associate with this instance of CruiseControl.
The name will be displayed in the Reporting Application's status page.

JMX-related Options

Flag Required Description
-jmxport [port number] No Port number for the JMX HTTP adapter.
This will activate the JMX admin functionality of CruiseControl.
If no number is specified, this will default to 8000, which means you can access the site at http://localhost:8000.
When using the Binary Distribution (or the CruiseControlWithJetty start class) the Reporting for the ControlPanel JSP tab.
-rmiport [port number] No Port number for the JMX RMI adapter and Connector Server.
This will activate the JMX admin functionality of CruiseControl. If no number is specified, this will default to 1099, which is the default RMI port.
If no RMI registry is running on the specified port, a registry will be started for you. See the documentation for more information.
-xslpath directory No The location of your custom XSLT files for use with the JMX HTTP adapter. Normally, you don't need to specify this and CruiseControl will use the style sheets that come with the distribution. This can be used to specify a directory containing your own customized versions of this stylesheets.
-user user id No Sets a user for the JMX HTTP Adapter. This will require users to login with this user (and password see below) to use the JMX Web interface. The -password flag must also be set.
-password password No Sets a password for the JMX HTTP Adapter. This will require users to login to use the JMX Web interface.The -user flag must also be set.

Links

See also