* Posts by Jez

1 publicly visible post • joined 20 Jun 2007

CruiseControl builds for the Enterprise

Jez

Re: waste of time

Matthew - I see two separate criticisms of CruiseControl

1 - it doesn't do anything useful if you are following agile practices like running the build before checking in

2 - it is a pain to install and use

To answer 1 - one of the major principles behind continuous integration is to run the build on a non-developer computer to check it works on a (more) production-like environment. Running your tests before checking in won't catch things like failing to add new files to source control, or forgetting to update a dependency. Also, if your deployment process consists of more than just building a jar (and most do), then making your CI server package and deploy your app and run tests on this as part of the build process can save you a lot of time further down the line. I'm a bit mystified by your assertion that teams who are experienced agile practitioners don't use CI servers - I've never been on an good agile team without one, for the simple reason that it is a really useful tool when you automate things like the deployment process and acceptance/regression testing. Plus of course as you say it's pretty much a necessity if you're on a large or distributed project.

To answer 2 - CC has improved in terms of usability and configurability in leaps and bounds since a couple of years ago. One of the major things that has been added in CC 2.7 is web-based GUI configuration. For instance you can now add new projects through the GUI if you're using Subversion as your source control system. The team is planning to do a lot more work on this - usability is very important to us.

Thanks for your feedback and happy coding.

Cheers,

Jez Humble.

Delivery manager,

CruiseControl Enterprise