An excellent Continuous Integration book

29 Aug 2007

Paul Duvall has a new book out: Continuous Integration. It's a good one - it has lots of well stated reasons for doing a continuous integration system of some sort, including all sorts of little conversational snippets that help make the point. For example, "Jim: hey, the test server isn't working. Joe: Ah yes... I forgot to 'svn add' one of my source files." Doh!

He suggests using one of those ambient orb gizmos to provide visual feedback on failed builds. That's probably a better idea than a sound alert - I found that having one of those go off every once in a while was just annoying. You can cut an email to everyone when a build fails, although that risks folks just routing them to a folder and letting them stack up.

Of course I was happy to see that the section on static analysis included lots of suggestions for using PMD and CPD. CPD, especially, is a handy tool; the ability to find duplicated code across a large codebase is very nice.

One of the hard things about a book on CI is that CI touches so many different parts of a system - the database, scripting, code, tests, code analysis, etc. It's not the sort of book that lends itself to one big example; instead, you have to have a bunch of little config files and scripts and examples to help a person get rolling down the CI road. I think they did a nice job here of having a good mix of theory and practical code samples.

So anyhow, I think this book is a good 'un. Go get it!

As an aside, I was a technical reviewer for this book, so there's probably some bias there. But not too much!