Anthill is a tool I've been thinking about using instead of CruiseControl. Here's my writeup on my initial experience:
It was pretty simple to set up out of the box. I was able to get the commons project I have started building pretty quickly. Some strangeness I had to figure out - the version number must be stored in cvs, you have to give it the name of the file, it stores something like
.buildnum. and increments the last buildnum, where prefix and suffix are strings.
Here is their build loop:
checkout working copy (clean checkout every time) Does a checkout and then REMOVES working copy every time. Would get slow, it seems.
check if build is needed, generate changes since last good build list.
if so, increment build number and check that in
tag the project (if set to 'tag on all builds')
build the project
tag the project (if set to 'tag on successful builds only')
publish the project (call a secondary build.xml, or second target in build.xml)
remove working copy.
send email, including changelog.
Likes:
easy to set up. Pretty easy to add new projects. Handles dependencies. Everything is on one machine.
Dislikes:
seems like it would be very slow with projects the size we have (always doing clean checkouts)
need to adapt to their versioning scheme
ugly email (not really a big deal)
email sending not as flexible as CC
only seems to publish latest version
no security at all - anyone can change anything!
Looks like they are now moving to "AntHill Pro" with more features. Presumably, they will start charging money for it. According to email from Erik Hatcher, though, they will continue to support AntHill OS (Open Source).
One of the issues that I had with it was its lack of security. It is a web application, and anyone with access to the website can do anything - add projects, remove projects, run builds, etc. Here is a link to the urban code mailing list that has a solution to that problem.
Another issue is the clean checkout thing - here is somehting I found that would address that issue also. [Anthill] How to stop the code tree being removed?
<< Home