I came back this morning from the conference, my third time after Brussels in 07 and London in 06. It was great as usual. If you haven’t been to an Open Space conference, know that you are seriously missing out on something.
There are quite a few things to take away
- there is a surprisingly large number of CI tools, especially commercial; we had a demo of 7; CruiseControl by Paul Julius, build-o-matic by Ivan Moore, Hudson by yours truly, JetBrains TeamCity by Pavel Sher & Yegor Yarko, Rational BuildForge by Lieuwe, Zutubi Pulse2 by Jason Sankey, ThoughtWorks Cruise by Chris Read. Many others were not represented. I don’t quite understand why the market is so fragmented.
- CI tools get less interest than before; there were still a few sessions on CI (CI Tools Showdown, Future of CI…) but fewer than usual. Remember that CI is still the main reason why people come to this conference. Instead, more discussions about Agile in general, and on automated functional testing in particular
- Chris Read from ThoughtWorks wants to push for Open CI, an effort to standardize the storage format of CI tools, so that they can get integrated more easily with other (non-CI) tools, such as Trac, Mingle, etc.
Some advanced features that seemed interesting:
- personal builds (Pulse & TeamCity)
- pipelines (Cruise); I think someone mentioned working on such things in the past, though I cannot find traces of it right now.
- build templates (Pulse); you define things such as a JDK configuration, SVN connection in a template, and you optionally override them in actual jobs that inherit from them. Some (French) people came to me after the conference to explicitely request this on Hudson! I think Hudson is big in France.
- build steps parallelized (BuildForge, Cruise, others?); in a complex job, you can mark some consecutive steps (say, integration tests and acceptance tests) and get them to run in parallel instead
- real time display of the number of tests passing/failing (TeamCity)
- find out exactly who broke the build (build-o-matic)
Interestingly, most commercial tools have a free version (limited to 1 or 2 machines) and charge by the number of slaves (I didn’t realized that slaves were such in demand). Costs are around 10,000USD / year for 10 slaves.
For more on the conference, check out:
- my twitter feed (I posted quite a lot)
- the CITCON Blogs aggregator
- notes on the sessions (few for the moment; more will come)
- my pictures on flickr
The next CITCON will be in Minneapolis/St Paul on April 17 & 18. Then, Brisbane in June. And CITCON Europe 09 is still TBD.
Oh, and Steve Freeman coined “Scrum is the new RUP”. I need a t-shirt with that.
Updates (06/10/08): it is Lieuwe, not Louis, who demoed BuildForge. Cleared up that Cruise is the only one doing pipelines and that it supports //ized steps.
Eric — thanks for your update, and sorry I couldn’t make it. I’ve been to a couple of CITCONs and really love them.
A couple of comments on your “advanced features”
1. Pipelines. I am absolutely sure Cruise is the only CI tool offering pipelines. The only one that’s got something even close is AntHill Pro. The term was invented by people at ThoughtWorks including me (Chris Read, Dan North and I wrote the original paper on it for Agile 2006). One of the best short descriptions of how it works is (curiously) by Maciej of UrbanCode: http://ddj.com/security/210603696?cid=RSSfeed_DDJ_Security
2. Build steps parallelized: this is certainly not unique to BuildForge. Cruise offers it, so does ElectricCloud. However Cruise is the only one that retails for <$50,000 that lets you do it.
I think the two main reasons there are a large number of CI tools are:
(a) it’s quite easy to write them
(b) none of them do quite what everyone wants
I think my talk was a bit rubbish because I didn’t get across the USP of build-o-matic. What is the basics of a CI server? I think one of the basics is to tell you which commit broke the build. If there are multiple commits between builds, then build-o-matic is the only CI server that finds out which commit broke the build. None of the others do, or even have the infrastructure to do it. I don’t believe it would be possible to write a plugin for Hudson or the current version of TeamCity to do it, because they have no concept of running the build on a previous revision of the build (although the next version of TeamCity will – so it may be possible with that when it is released). Note that Pulse and TeamCity have a valid alternative approach to the problem with “personal builds” – which (I have used the TeamCity version of this feature) is quite cool.
Just to drop a note, I was not the guy doing the IBM Build Forge demo.
His first name was “Leuwie” or close, can’t remember his last name and I do not find him on the list of attendees.
@Louis you’re right. I think the guy said that his name was more easily pronounced ‘Louis’, and I incorrectly thought it was you. I think he came at the last minute and never registered.
@Jez I’ve updated the post.
@Ivan I heard you say, but quickly forgot, that build-o-matic could do that. This is worth fixing the post.
Why do you say that Cruise is the only CI tool offering pipelines? We demonstrated AnthillPro at CIT-CON last year and you saw how AnthillPro used pipelines back then. We’ve had support for pipelines since early 2006 in a shipping product. We use the term LivingBuild instead of pipelines, but essentially they are the same exact thing.
Actually I didn’t see the AntHillPro demo and haven’t used the tool, so although I knew living builds were similar (since you told me), I haven’t actually done a detailed comparison. I did namecheck that you were doing something in the same space, which is the limit of my knowledge. I would be surprised, given my ignorance of AHP, if our implementations were identical. However I think philosophically we’re in the same space, and I enjoyed the paper you wrote for Dr Dobbs.
Pingback: Eric Lefevre-Ardant on Java & Agile » Scrum is evil!
Pingback: Eric Lefevre-Ardant on Java & Agile » Coding Dojo on Legacy Code
Pingback: Eric Lefevre-Ardant on Java & Agile » Valtech Days are tomorrow!
Pingback: Eric Lefevre-Ardant on Java & Agile » CITCON Amsterdam Continuous Integration Cage Fight on YouTube