November 3, 2008: updated to reflect some very good comments from some fine commentators.
Continuous Integration is a practice. You can do CI without any automation at all – the original Fowler paper says as much. James Shore wrote a good guide on this.
This post is about the eras automated Continuous Integration. The title wouldn’t seem so snappy if I put all that in there.
The First Era of Continuous Integration (1999 – 2006) is of course characterised by the dominant CruiseControl product and it’s variants. Although CruiseControl wasn’t the first automated CI server (that honour seems to go to Tinderbox), it became very popular. Many projects were won for ThoughtWorks as companies would attempt to install CruiseControl, fail, and then get a friendly ThoughtWorker in to do the install. Who would get two friends in. And so on. Also notable in this era were CruiseControl.net, DamageControl, Gump, Continuum, and a few others.
I like to think of this era as the equivalent of the original .com boom. Everybody knew it was going to be interesting. Exactly how things were going to work out was another thing. Hence it made sense to have a framework for CI, rather than a fixed product.
Also, XML and XSL were briefly cool during this time, and these technologies left their mark.
The present era belongs to no single company or group. For me it began the day Team City was introduced. That product changed the game by bringing a very functional user interface and some clever build engineering and integration together. Hudson deserves a smaller mention for things like the weather metaphor. I really hate the butler; perhaps someone will come up with a bartender patch.
Ultimately I think this era will give us more usable tools and a shift towards systems integration and deployment: Ant Hill Pro has had a story about that for a while, and the Cruise team seem to be sashayingin that direction as well.
One thing that begins to matter in an enterprise context is authorisation. Can anybody drop in and change configuration? Once you do that, how do you maintain the list of users to map rights to? Active Directory/LDAP integration seems to be the trend here. Step forward Team City, Hudson, Parabuild, and Pulse and others.
(image taken from debaird’s photostream)
Related posts:
- Every Continuous Integration server that supports Ruby + Git As I posted, I’m on a quest for the...
- Continuous Integration Cage Fight – the entire first series CITCON Europe 2008. Tom Sulston proposes a session for...
- Continuous Integration Doom and Gloom? Andrew Binstock has written an article for SD Times,...
- The quest for a decent Ruby Continuous Integration tool Git has become very popular in the Ruby community....
- the industries first and only open-source continuous integration solution from http://www.coveros.com/research/research_stack.php: SecureCI⢠is the industries first and only...
Related posts brought to you by Yet Another Related Posts Plugin.