Keith and Mario's Guide to Continuous Deployment

E14f55d3f939977cecbf51b64ff6f861?s=47 Keith Pitt
February 22, 2014

Keith and Mario's Guide to Continuous Deployment

This is a presentation that @mariovisic ( and I ( performed at RubyConf Australia, 2014.

Recently it has become common practise for development teams to deploy their code several times a day, as well as encouraging new developers to deploy on their first day at work.

In our talk Mario and I will discussed how we used continuous deployment to push these practises to the extreme. Automatically deploying the master branch on new changes is an awesome way to improve your development process.

Automatically deploying master will fundamentally change how you work. Gone are the days of the epic pull request. You'll quickly find yourself writing smaller more manageable chunks of code, that overall have a great impact on the quality of the software you produce.

By the end of the talk you'll know how to change the GitHub merge pull request button into a deploy button - and have the confidence to do so.

Some things we'll go over in the talk:

- How to setup your CI environment for deployments
- Why having fast tests are important
- How to use your Staging environment for testing deployments
- How to use feature flags to hide deployed features from some users
- Zero downtime deploys, even when there are database migrations
- Your new deploy button, AKA The GitHub merge pull request button
- What to do when deployment goes wrong



Keith Pitt

February 22, 2014