October 01, 2007

Tom Tech Fridays Part V

This week's Tech Friday piece is around CruiseControl. In case you are not familiar with it, CruiseControl is an open source product that allows you to build your product, run unit tests, perform code analysis (code coverage, static analysis), or just about anything you want on a regular basis and report the results on a web server. If you do software development you should really consider using CruiseControl or something similar. On my project we have CruiseControl run every few hours, and when the unit tests fail it sends an email so that we can fix the problems ASAP. What we run is as follows:

jUnit Tests
Emma (code coverage)
FindBugs (static analysis)

The benefit of continuous integretion on a software project is that it allows you to tackle problems while they are small instead of waiting to do your integration at the end of development which can be really painful if you run into problems. And since the changes in between builds is small, you can easily find out what change broke the build. Not all projects are ideal for continuous integration, but most projects nowadays are a pretty good fit, and the benefit is that once you set this stuff up it can run over and over again by itself, and you'll probably see the quality of your product go up if you pay attention to the errors that are thrown by these tools.

Posted by troutm8 at October 1, 2007 04:06 PM