Dashboard > CruiseControl > TheCruiseControlBuildLoop
TheCruiseControlBuildLoop Log In View a printable version of the current page.

Added by Robert Watkins , last edited by Joris Kuipers on Sep 01, 2004  (view change)
Labels: 
(None)

CruiseControl runs a Build Loop, which is designed to run as a daemon process which will periodically check your source control tool for changes to your codebase, build if necessary, and send out a notification regarding the status of the build.

This is a loop that you define in the config XML file by defining project(s) containing information about timing, logging, and notification information (see ConfigFiles). You can have interested parties notified by e-mail, or use the Reporting Application that comes with CruiseControl to make the build and testing results available, or both. There are also many other so-called Publishers available, and you can easily write your own.

You can update a project with new rules/information which will be picked up by the loop every time it goes around, depending on your needs. You can define multiple projects in the same config file to run (and compile & test) in the same CruiseControl instance. The default is to use a build queue that builds one project at a time, but if you're using a CruiseControl with a version higher than 2.1.6 you can also have projects building in parallel, should you want that configuration. Just keep in mind that you always need to restart CruiseControl if you've added or removed projects, since it will only pick up changes to existing projects on every loop.

The build loop depends on Ant, jakarta's simple, extensible, XML-formatted version of make which is the de-facto standard for java build tools. Once you have your project building with Ant, setting up and using cruise control is twice as easy. You can also use Maven, which is becoming an increasingly popular alternative to Ant.

In addition, because Ant or Maven still allow you to execute legacy makefiles and scripts, CruiseControl only magnifies and enhances the longevity of any dependable, mature build processes you may already have.


You can also control the build loop interactively. See Managing CruiseControl With JMX

Powered by a free Atlassian Confluence Open Source Project / Non-profit License granted to ThoughtWorks, Inc.. Evaluate Confluence today.
Powered by Atlassian Confluence 2.7.1, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators