Gentoo Wiki ArchivesGentoo Wiki

Cruise_control

Contents

How To Install Cruise Control

Presentation

Cruise Control is a tool used to make automated compilation on a project in development. I will complete this page during my personnal installation of this tool on my gentoo x86 server. Cruise Control can checkout sources of a CVS or Subversion repository. Cruise Control uses an ANT script system compilation tool. Image:cc-arch.png

Required

Cruise Control requires Java (blackdown-jre or sun-jre) ANT(dev-java/ant) You can use Cruise Control with Trac by Trac Plugin, Eclipse Eclipse Plugin, CVS, Subversion. You probably need to compile Cruise Control so emerge sun-jdk or blackdown-jdk.

Installation

I didn't find an ebuild so you will have to download the sources on Official Web Site. unzip cruise control source.

And build it by using this script: CruiseControlFolder/main/build.sh

Now you can try to run cruise control by running CruiseControlFolder/main/bin/cruisecontrol.sh

You can move your cruise control to /usr/share/cruisecontrol mv YourCruiseControlFolder /usr/share/cruisecontrol


and link it in /usr/bin ln -s /usr/share/cruisecontrol/main/bin/cruisecontrol.sh /usr/bin/cruisecontrol

Configuration

a) Create a working area for cruise, eg

 mkdir /work
 mkdir /work/cruise
 export WORK_DIR=/work/cruise


b) Now create the following subdirectories:


mkdir $WORK_DIR/checkout this is where cruise checks out your project from repository (CVS/SVN/VSS). (ClearCase users do not need this folder - you will check out items from your ClearCase view.)

mkdir $WORK_DIR/logs this is where cruise will write its build reports into.

mkdir $WORK_DIR/artifacts this is where cruise can put any build output files that need to be kept.


c) Create $WORK_DIR/config.xml, like so:

 <cruisecontrol>
 </cruisecontrol>

Project Setup

This is an example of a configuration using Subversion. You have to add your project into config.xml into <cruisecontrol></cruisecontrol>

 <cruisecontrol>
  <project name="build-TimeBreach-Dev">
   <bootstrappers>
     <svnbootstrapper file="http://127.0.0.1/repository/timebreach/svn/dev/softwares/build.xml"/>
     <antbootstrapper antscript="/usr/bin/ant"
        antworkingdir="checkout/dev/softwares"
        buildfile="build.xml"
        uselogger="true"
        usedebug="true"
        target="all"/>
   </bootstrappers>
   <modificationset quietperiod="10">
     <svn LocalWorkingCopy="checkout/dev/softwares" RepositoryLocation="http://mibs.dyndns.org/repository/timebreach/svn/dev/softwares"/>
   </modificationset>
   <log dir="logs/TimeBreach-Dev"/>
   <listeners>
       <currentbuildstatuslistener file="logs/TimeBreach-Dev/buildstatus.txt"/>
   </listeners>
   <schedule>
   <ant antscript="/usr/bin/ant"
        antworkingdir="checkout/dev/softwares"
        buildfile="build.xml"
        uselogger="true"
        usedebug="true"/>
   </schedule>
  </project>
 </cruisecontrol>



You need to checkout your project into WORK_DIR/checkout folder cd WORK_DIR/checkout

svn co http://mibs.dyndns.org/repository/timebreach/svn/dev this command will create dev folder into checkout folder.

This example compiles sources through the use of an ant script. The ant script is called build.xml and must be located in the base directory.


More information about config.xml and plugins may be obtained from [1]

Launch it

You can start cruise control by using cd YOUR_WORK_DIR and cruisecontrol

Retrieved from "http://www.gentoo-wiki.info/Cruise_control"

Last modified: Sat, 27 Sep 2008 17:07:00 +1000 Hits: 11,959

Created by NickStallman.net, Luxury Homes Australia
Real estate agents should list their apartments, townhouses and units in Australia.