Setup CruiseControl

In this article I will explain how we can setup environment for Continues Integration with CruiseControl, Ant, Maven2 & JUnit, CheckStyle, Fit, PMD.

Steps :

1. Download Java Development Kit (JDK) and install it. Set the JAVA_HOME variable in USER_HOME/.bashrc file.

Example
export JAVA_HOME=/home/prasadr/lankagate/jdk1.5.0_17;
export PATH=$JAVA_HOME/bin:$PATH;

Note: You need the JDK, not the JRE, because the JRE does not include the Java compiler. You can download JDK from http://java.sun.com/javase/downloads/index.jsp.

2. Install Cruise Control(Using Binary Distribution)

Download latest stable binary distribution and extract it to directory. I have unzipped it under /opt/CControl/. It will create a directory called cruisecontrol-bin-2.8.3 & refer as CC_HOME in this guide. If you have downloaded a different version, the last three digits may vary. The following figure shows the top level directory structure in CC_HOME.

cc-home

Figure 1 : CruiseControl Home

3. The CruiseControl distribution includes an Apache Ant distribution as well, which CruiseControl uses by default. You can either point it to your own Ant installation or copy the required custom Ant task JAR files into the lib directory of the Ant distribution.

4. Configuring CruiseControl
This version of CruiseControl comes with default sample configuration file called “config.xml” & sample Ant build project “cruisecontrol-bin-2.8.3/projects/connectfour/”. We need to use this config.xml file with futhre modification to add new projects & integrate other tools.

Default “config.xml” file

config.xml

connectfour project ant build.xml content:

build.xml

5. Configuring CruiseControl running ports

By default  CruiseControl is configured to run following ports.
Jmxport : 8000
webport : 8080
rmiport : 1099

cc-ports

Figure 2 : Change Default Ports

if you want to change these default port opne CC_HOME/cruisecontrol.sh in a text editor and provide your required port numbers. I have change jmxport to 9000 & webport to 9090 in this deployment.

6. Start CruiseControl
To start CruiseControl just execute CC_HOME/cruisecontrol.sh & it will display the CC log in the console. 

cc-start-logs

Figure 3: CC Console Logs

7. You can use following URL to access documentation & dashboard of your CI.
Dachboard : display sample projects.
Dachboard URL : http://localhost:9090/dashboard

cc-dashboard

Figure 4: CC Dashboard

JSP Reporting Application : display build results of the configured projects.
URL : http://localhost:9090/cruisecontrol

cc-jsp-reports

Figure 5: CC Build Report

ccl-jsp-reports-sampleFigure 6: CC Build Report for “connectfour” Project
CC Documentation :  local copy of this CC documentation
URL : http://localhost:9090/documentation
cc-doc

    Figure 3.7: CC Documentation

    JMX interface : CruiseControl Management Console
    URL : http://localhost:9000

cc-jmx-console

    Figure 8: CC JMX Console

    8. Find Build
    Once the source successfully build we can configure CC to copy build file (.jar, .war, .ear, .aar) to CC_HOME/artifacts/ folder. See “connectfour” project configurations in default “config.xml” file in step 4.

    artifactspublisher


FaLang translation system by Faboba

Operating Systems

Database Systems

Software Languages

Mobile Application Development

Cloud Computing

Web/Application Servers

Software Development