Monday, November 2, 2009

Hudson for Continuous Integration


I found Hudson a really interesting and useful tool for continuous integration. I was surprised how slick the interface is and how easy it is to setup. It includes AJAX feedback when you are configuring your project and lets you know if you are setting it up incorrectly.

Hudson also came in really handy because when you are making a lot of changes, and committing code every 30 minutes or so, sometimes you forget to run ant -f verify.build.xml. Hudson will send you an email within 5 minutes (the time we configured Hudson to check our SVN repository) and let you know that your build failed. If it continuously fails then the little icon for your project will turn from a sun to a lightning storm (something that makes it fun to avoid!).

When I was converting my project over to smaller classes so it was not one big monolithic class, I tried to do the conversion all in one shot without checking verify or committing to let Hudson complain. That was a mistake. I had about 100 checkstyle issues I had to go through and fix, and it took a long time. It would of been easier if I had tried with one class and edit the following classes accordingly as to not let checkstyle complain.

All in all it was a great experience and I wouldn't go without Hudson and all the tools we are using now for any other project.

0 comments:

Post a Comment