Monthly Archives: October 2011

LondonCI Meeting, 1st November

Continuous Integration matters. Configuration Management matters. What happens when you mix the two?

Let’s find out. Chris Read and I are speaking at the BCS Configuration Management group meeting on November 1. We’ll be doing our talk from Agile 2011, which I hope will spill over into a massive discussion over nibbles and wine.

The venue will be the BCS offices in Southampton Street, London. You need to register for security and catering purposes. Chris and I will be talking from 18:30. We’ll be preceded by the CMSG AGM, which non-members are welcome to attend (though you can’t vote unless you’re a member)


Atlassian Bamboo Challenge

Atlassian kicked off the Bamboo Task Master Challenge today. I am honoured to be on the judging panel.

What’s it all about? A Continuous Integration server becomes the heart of your development infrastructure. CI servers need to know how to talk to the rest of your systems.

So Atlassian are encouraging you to add to the Bamboo ecosystem by offering the winner of the competition:

  • A ticket to next year’s Atlassian Summit
  • $500 of nerd toys
  • A USB Bamboo keyboard and mouse
  • A USB rocket launcher, that integrates with Bamboo

The first 10 entries get an Atlassian T-shirt and the Bamboo Keyboard and Mouse.

I think it’s a clever move. Plugins made Hudson/Jenkins more attractive to it’s users, and gave everyone the incentive to encourage more plugin authors (see Crossing the Chasm for more on this)

Here’s an idea to kick things off: I’d like to see someone use face-detection and face-recognition libraries to detect the face of the person who broke the build.

An targeting system for a Nerf Vulcan wouldn’t go amiss, either.


Everything I know about Continuous Integration, I learned from Systems Administration

I was honoured to give a talk at DevOpsDays Gothenburg on Saturday. Much love to Patrick Debois for encouraging me to submit the talk, and huge props to my erstwhile colleague Tom Sulston for agreeing to co-present. The whole thing was a blast.



2004 will let you keep Subversion a little while longer.

Vendor news, #DevOpsDays Special

Hello from Gothenburg. Here is the news.

  • ViewTier released ParaBuild 4.1 [link]
  • Atlassian released Bamboo 3.3 [link]
  • Electric Cloud released two new versions of Electric Accelerator 6.0 [link]
  • Amazon now include Puppet and Facter in their AMI’s [link]

Repository? That’s not a repository …

this is a repository. I’ve been experimenting with Amazon S3 as a Maven repository. I threw the results up on GitHub [link].

Why? I’ve been working with some nice people who use binary dependencies. In order to scale their CI system past one node, they need a repository manager, to temporarily store built artifacts on.

They actually have a couple of repositories, but not geographically close to where I’m building out their new CI system (on EC2). It’s important to keep the feedback loop fast; so deploying a repository close to(or indeed on) on the CI server is desirable.

The plan was to deploy Archiva onto an EC2 instance via Puppet. Then I had a better idea: use an S3 bucket as a highly scalable, low latency and (mostly) highly reliable repository.

Turns out that there’s support for S3 in their build tool (Maven). So it turned out to be easy. In the github repo, I publish and artifact using an S3 client, and then retrieve it using plain HTTP.

As long as your EC2-hosted Continuous Integration server is in the same availability zone as the S3 bucket, you’re not going to be liable for a high traffic bill.

They may want to use a different configuration for the real repository, where they serve artifacts to the other consumers. This approach is all about speeding up and scaling out their build.

Update: Oliver Lamy asks: ‘what is wrong with Archiva’?

Nothing. I’d cheerfully use it. It has a permissive license and cheerful absence of public spats with other repo managers.

In this case I wanted some very fast and robust, which led me to S3. The alternative was to deploy Archiva on an EC2 instance: I could have done that, but then I would have had a dependency on a single host.

IMO, this approach is more suitable for the context (caching intermediate build artifacts, on AWS).

Tagged ,