Continuous deployment in 5 easy steps

Really useful article on how to start implementing continuous deployment in your organization. It encapsulates a lot of the stuff I just posted on the Five Whys and Lean Startups.

I can imagine a few other things you need here, like a complete sandbox for for each dev, as well as the continuous integration server to keep testing every commit, and the cultural change is enormous but not onerous.

I think the other important thing is that this is scary. Even me at my most crazy would be a bit concerned about this. People will be worried, especially if this is something you haven’t done from the very start. You also need a culture that doesn’t punish honest mistakes. Otherwise, people will fear to deploy something in short cycles from idea to production in nothing time.

I’m also very curious about how they role out distinct changes to only certain users in order to make sure that they have metrics and testing on features they should keep or discard before rolling things out to the broader base.

Curious as I’d like to apply this to some of the Rails work we’re doing. What sort of continuous integration servers are people using ? Technically I’d want the thing to run at a minimum, cucumber and rspec stories and be triggerable off a git repository (or even better, github).

For the real nitty-gritty on the CI stuff, look at this other article of Eric’s.