I’ve always been a big fan of continuous integration. There is something empowering about having a tireless little robot patiently waiting for you to check your code in. When it sees your latest commit, it quickly downloads it and then runs all your tests. When that’s over, it prints a nice web summary of what it did. It can even update your main team portal pages with updated content (javadocs, rdocs, test coverage, daily metrics, whatever). It is like having a groupie fanbot who loves your code.

Until you check in something that breaks (fails a test or worse yet, doesn’t compile). Then your little groupie is more like a stalker. Not only does it display a nasty web page (in shades of red) about the build YOU broke but it probably sent out a raft of emails about it. Pretty embarrassing.

Read the rest of this entry »