Most of the problems with cruisecontrol fall into one of three categories:
- cruisecontrol conceptual problems & inconsistencies
- cruisecontrol configuration problems
- ant issues
Problem Type One: Conceptual
The first sort of problem, understanding what cruisecontrol does and doesn't do is addressed in part (hopefully) by this wiki. The cruisecontrol-users mailing list is an excellent place to go to get any other questions answered. You'd be hard pressed to learn some of the nit-picky inconsistencies through another source.
Problem Type Two: Configuration
For the second category of problems it is usually helpful to get a better idea of what cruisecontrol is trying to do so TurnOnDebug. If you can't see the console output from cruisecontrol take a look for cruisecontrol.log, which should be in the same directory that cruisecontrol is launched.
Problem Type 3: Ant
For the third sort of problem, ant issues, try these questions:
- Does my build work from the command-line?
- Does my build work from the command-line if I use the exact same command-line CruiseControl is using?
Very often the answers and yes and no because of differences like the memory allocation passed to Java, or the classpath, or the use of Ant's XmlLogger by CruiseControl.
A further source of grief can be a conflict between version of ant, the jdk or dependent libraries when running from the command-line. To insulate yourself from these issues use the buildscript attribute on the antbuilder element in your config.xml
One of the problems debugging Ant issues is that with the standard xml logger the results are only written at the end, so if there is a problem that causes the build to hang you don't see any useful information. To get around this people have used an alternative logger or the ant record task, both of which are discussed here .
How do I know what command-line CruiseControl is using to launch Ant?
TurnOnDebug
See other Frequently Asked Questions