Big Time Continuous Deployment / Testing

Continuous Deployment at IMVU

> The high level of our process is dead simple: Continuously integrate (commit early and often). On commit automatically run all tests. If the tests pass deploy to the cluster. If the deploy succeeds, repeat.
>
> Our tests suite takes nine minutes to run (distributed across 30-40 machines). Our code pushes take another six minutes. Since these two steps are pipelined that means at peak we’re pushing a new revision of the code to the website every nine minutes. That’s 6 deploys an hour. Even at that pace we’re often batching multiple commits into a single test/push cycle. On average we deploy new code fifty times a day.

This is amazing stuff. This team commits and deploys constantly. They’re 100% reliant on their tests (and a cool sounding rollback system), which I find scary as hell but I would imagine it focuses them on writing good tests, for real. Very impressive. I wonder if they’re hiring… :)