Friday, August 14, 2009

CruiseControl on Fedora: Setup

In this post I want to present a simple way to install and configure CruiseControl (hereafter just CC) to run on Fedora. It is NOT my objective to teach you how to each and every option of the configuration file works. For that you have plenty of other sources, such as the official documentation (here) and a pretty good step-by-step install, configure, and use documentation at JavaRanch (here). My objective is to give you an example of how to install and configure a CC server. (I'm one of those guys that learn better with an example.) Feel free to adapt it to your necessities.

http://cruisecontrol.sourceforge.net/main/configxml.html
http://www.javaranch.com/journal/200409/DrivingOnCruiseControl_Part1.html

1. Since I could not find any RPM specific for Fedora I have taken the RPM for OpenSUSE from RPMpbone.net (package list here and here):

You will also need the following packages:
#---
yum -y install \
ant
#---


And Sun's Java JDK: http://java.sun.com/javase/downloads

2. Setup the CC service.

Set it to use the Sun Java (it has serious problem with openJDK) by editing the file: /etc/default/cruisecontrol and including the following lines, before the final line

JAVA_HOME="/usr/java/default/jre"
PATH=${JAVA_HOME}/bin:${PATH}


2.1. Check if the default port is free:

#---
nc -z localhost 8080 # default cruise control port AND tomcat's default port, watch this out
#---


OBS.: It MUST yeld NOTHING. If it returns a "succeeded" it means that the port is occupied and you need to change it to another one. You can change it by given another port number for the variable CRUISE_WEB_PORT in the file: /etc/default/cruisecontrol

2.2. Start the CC daemon:

#---
service cruisecontrol start
#---


2.3. Check if it is up and running by accessing: http://localhost:8080/dashboard (remember that if you changed the default port the value 8080 must be changed as well).

2.4. If it is up and running you may want to make it starts when the server starts:

#---
chkconfig --level 345 cruisecontrol
#---


Related post: CruiseControl on CentOS: Setup

No comments: