Tag Archives: citcon

Continuous Deployment at CITCON

I recorded most of a discussion on Continuous Deployment and Build Pipelines at CITCON this year. I only just got around to squeezing the video size down to get it onto Viddler. It is an interesting discussion with some serious CI gurus. It’s also shaky (no, I didn’t get some old geezer from the pub to hold the camera – that was me, sober as a judge). I’m not too impressed with the audio from the Flip cam – it’s good for an in-your-face interview but terrible for a big room.

Tagged ,

Video: Jeffrey Fredrick Interview

Last week we interviewed PJ. This week it’s JTF, or Jeffrey Fredrick. He’s one of the guys who maintained CruiseControl and co-founded the OIF (the organisation that brings you CITCON). He’s also the Technical Evangelist for Urbancode, who bring you Ant Hill Pro.

My Flip cam called time on the interview by filling up at 9 minutes and 59 seconds. Jeffrey, thanks for the interview!


Video: Paul Julius Interview

The main reason I cannot miss a single CITCON Europe: catching up with all my friends, old and new. Paul Julius and I decided to have a formal catch up on camera. Less formal conversation was had, too.


Better Apache Ant Builds

Abstract: We did two CITCON sessions here; Joe Schmetzer suggested a show-and-tell about tools to reduce Ant bloat, and Ivan Moore wanted a general session on improving the quality of Java builds in general. During the conference, the two sessions merged. My plan was to sit in and tweet smart-ass comments. As I had my laptop open, they made me official scribe. Serves me right. Here’s my notes:

Joe: I have template Ant stuff to show you.
Ivan: I don’t like Ant. Is it just me?
(someone mentions how annoying it is when you have re-entrant AntCalls)
Chris Read and Julian Simpson: “Antcall is evil! Don’t use it!”
Ivan expands on his frustration with Ant: he builds something in Ant and then regrets it later. It has all the building blocks for the task at hand but he still finds it unwieldy.
Chris suggests orchestrating calls to Ant files using a scripting language.
Jeffrey Frederick suggests that writing custom Ant tasks is a good approach.

We discuss alternatives to Ant. None are found. Maven, Buildr and Gradle are mentioned but the broad agreement is that there’s always a trade-of between the convenience of those tools and the flexibility of Ant. [Please direct flames to the comments of this post. I really want to discuss this more]

JTF comments that the junior guy always gets to write the build. Why does the build get treated like a second class citizen? JTF suggests PowerPoint called object oriented build scripts, and a tool called EasyAnt.

Pavel from JetBrains mentions that IntelliJ have switched to Gant, and are very happy with it. I don’t believe that the all of the JetBrains Java projects have moved over.

Joe demonstrates his templates on a 9-inch netbook. This doesn’t really work out as we can’t get the projector going, so he outlines it. This is hard to transcribe.

Joe: Don’t cut and paste Ant scripts. Import predefined targets instead. Well defined targets can be reused. This leads to tiny Ant scripts for each project. Joe’s projects end up having a 10-15 lines of Ant script. Joe has released this all at Ant Script Library.

Joe explains the targets that he uses most frequently – the usual suspects of compile, test, etc. He’s integrated a lot of static analysis tools into the library (he rattled off a huge list, which I failed to capture) – that’s a win.

Joe‘s abstracted SCM and release targets nicely, by the sound of it.
Paul Duvall asks if they are targets or macrodefs. They are targets.
Joe hates code generation so doesn’t use it in this toolset. Healthy discussion of script generation.
There’s clear parallels with maven and the strongly defined code tree.
You can buy my refactoring ant article at at good second hand bookstores.[link]
People go against the grain of the tools.
Everyone agrees that Ant Contrib means you’ve done something wrong.
. JTF suggests that string literals are okay in builds.

How do you test build stuff? JTF suggests:

  • a test project
  • writing junit tests

Pavel and friends at JetBrains use personal builds to test all this.
Andy Parker asks how much container stuff and deployment you should use.
We all agree that running the production deploy in CI is the business.
Ivan: how do you deal with the devs on windows/prod on unix business
VM’s are the saviour of the windows/unix divide.
The windows/unix divide is a perennial issue.
Jetbrains use build agents to try and flush out issues.

JTF: Ant builds can suck when:

  • junior people write them
  • there’s no refactoring
  • they are treated as a second class citizen
  • imperative vs declarative
  • code ownership: if you touch it, you own it. Hence, nobody will touch it.

We had a vigourous discussion of dependency management. Chris asks for discipline. Andy points out that you can end up with integration hell. Maven’s release plugin can allegedly resolve dependencies too late in the QA process and end up changing the release candidate. Chris complains that it can be hard to rebuild later when you depend on the latest version of a dependency. Joe did his own wrote-up here.

PS: I’ll add some links back to the various people mentioned here

Tagged ,

CITCON Europe 2009

I’ll sporadically be tweeting about the conference throughout the weekend.


Citcon Paris is filling up fast

Citcon Europe ’09 news:

  • We should be able to announce a venue soon
  • It’s two-thirds full! Eric Lefevre has more:

While some are currently enjoying CITCON Minneapolis, the Paris edition is quietly making progress.
It turns out today that we have passed the 100-registrants mark for CITCON Paris. That’s 2 thirds of the capacity. And there are almost 5 more months to go before the conference! This, I believe, is the strongest CITCON registration drive ever.
So, if you have joined us on previous editions and you are considering coming to Paris in September 18th & 19th, register now, before it is too late. Judging by CITCON Minneapolis and Brisbane, this could be the first year we will actually turn away participants.

You heard the man. Don’t miss out!



Continuous Integration Cage Fight – the entire first series

CITCON Europe 2008. Tom Sulston proposes a session for CI developers and vendors to show off their wares. The Continuous Integration Cage Fight is born. Seven geeks. One prize of … nothing.

Your humble narrator was given the job of recording the battle, which he did by juggling an Asus Eeepc, and a Nokia N73. Given all that, it’s not a shock that the video quality isn’t good. For CITCON Europe 2009 (registration is open) he’s packing a Flip Ultra.

This is a list of all the write-ups, with video. The fighters were:

The winner was .. everyone. You’re all using CI. Think of those poor souls who aren’t.

Image by army.mil


Continuous Integration Cage Fight: Buildforge

This is the final (and very late) installment in the CI cage fight series. The last speaker was Leuwie from IBM, discussing IBM Rational Build Forge.

By this stage in the talk I was done with trying to take notes (curse you, cute eeepc that caught Tom’s eye!) and film at the same time. Things got a little sketchy. Here’s what I managed to note down:

The licensing model is by concurrent user. As it truly is an enterprise product, you can’t just go quoting fixed prices ( as different clients have all sorts of deals for buying their gear). We were a tough audience in that respect, as most of us come from a small product/small team background.

BuildForge understands environments. My notes said ‘environments are mapped’: that was probably something profound six months ago (on the bright side, it’s less than six months to the next CITCON!).

Build agents have manifests that describe their capabilities. Pretty standard. It will parse build output and fail on if a given string is detected. It also supports LDAP. Good.

BuildForge runs commands as lowest common denominator for integration. That includes VCS access.

It has wide platform support. I think Leuwie mentioned something about Nintendo support as well – which means NetBSD support. Officially, it supports:

Windows, AIX, Solaris, HP-UX, Linux, Mac OS X, z/OS, i5/OS

This is possibly the best agent support that I’ve ever seen in a CI server and that’s what I’d say a uniqe feature is. If you’re already drinking the IBM Kool-aid, then it’s probably a very good fit for you. Which brings me to my main point; I’m probably not the guy to be commenting on this stuff.

I might have worked with WebSphere, DB2 and AIX. I’ve even installed OS/2. Still don’t really understand the culture – even though I apprecate what IBM’s research has brought to our industry. So all I can do is say thanks to Leuwie for fighting in the cage, and a huge thanks to IBM Nederland for hosting a great weekend in Amsterdam.


2009 conference plans

I’m happy to say that I’m going to be at three conferences this year. First, I’ll be speaking on Continuous Integration at the JAOO Developer Day in Copenhagen, Denmark. March 4th.

JAOO logo

I’ll be doing a similar talk a few days later at QCon London, March 11-13.

Finally, I’ll be at at CITCON Europe in Paris on September 18, naturellement.

It’s a great honour to be invited to speak at the first two, and to be helping organise the latter. After a quiet year for conferences in 2008, 2009 is looking good already.


CITCON Europe 2009: September 18-19 – Paris, France.

Great news: we have a date for CITCON Europe – and it’s in Paris!

What is CITCON? It’s a free Continuous Integration and Testing conference.

  • If you’re a developer interested in how to better craft your code with tests, you’ll fit right in.
  • If you’re a tester looking to automate tests more effectively, welcome.
  • If you run a Continuous Integration system or just happen to like CI, this is for you.

It’s an Open Space conference: there’s no keynote and no timetable. You help choose and organise the sessions. You get a say in how it’s run. Did I mention that it’s a free conference?

Last year I only went to one conference. This one. I paid for the travel and accommodation myself. CITCON Europe. Because it’s worth it.


CITCON is also coming to North America in April, and Australia in July.

Image taken from Al Ianni’s Photostream