Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Release early and Release often
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Andy Delcambre
October 01, 2011
Programming
570
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Release early and Release often
Reducing deployment friction
Andy Delcambre
October 01, 2011
More Decks by Andy Delcambre
See All by Andy Delcambre
Git and GitHub at YAPC:Asia
adelcambre
1
3.5k
Git, GitHub, Etc
adelcambre
3
270
Systems Programming - SoCoded 2013
adelcambre
2
210
Ruby Systems Programming
adelcambre
4
1.2k
Debugging Production Service Oriented Systems
adelcambre
3
460
Ruby, Rails and Engine Yard - Úll
adelcambre
1
350
SFRuby Nov 2011 - Release Early and Release Often
adelcambre
2
100
Other Decks in Programming
See All in Programming
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
730
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
120
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
140
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
180
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
330
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.2k
SODA - FACT BOOK(EN)
sodainc
1
210
Event is what happens
moro
2
3.8k
Moscow Python Meetup №112. Как поселить ИИ агентов в event driven архитектуре
moscowdjango
PRO
0
110
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
920
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
360
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
470
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
830
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.3k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Speed Design
sergeychernyshev
33
2.2k
The Limits of Empathy - UXLibs8
cassininazir
2
770
Reality Check: Gamification 10 Years Later
codingconduct
0
2.4k
Scaling GitHub
holman
464
140k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
590
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
Transcript
RELEASE EARLY & Reducing Deployment Friction RELEASE OFTEN Saturday, October
1, 11
ANDY DELCAMBRE It rhymes with “Welcome” Saturday, October 1, 11
@adelcambre Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
REDUCING DEPLOYMENT FRICTION Saturday, October 1, 11
REDUCING DEPLOYMENT FRICTION Saturday, October 1, 11
REDUCING DEVELOPMENT FRICTION Saturday, October 1, 11
Saturday, October 1, 11
STARTING A NEW TASK Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
git checkout -b U-666 Saturday, October 1, 11
git commit -m “[U-666] add unicorns” Saturday, October 1, 11
Saturday, October 1, 11
............................. ..*......**.................. ............................. ...................... Finished in 10.809554 seconds 109 examples,
0 failures, 3 pending Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
EyBot Saturday, October 1, 11
require 'ey/irc' run EY::Irc::Receiver.new { |message| case message.body when /^ping$/
message.say(message.to, ”Hello World!”) end end Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
CONTINUOUS INTEGRATION Saturday, October 1, 11
Saturday, October 1, 11
MASON Saturday, October 1, 11
Saturday, October 1, 11
git checkout master git merge U-666 git push origin master
Saturday, October 1, 11
MARK TICKET AS “MERGED” Saturday, October 1, 11
AUTO DEPLOY TO EDGE Saturday, October 1, 11
Saturday, October 1, 11
404 DEPLOYS IN SEPTEMBER Saturday, October 1, 11
~ 20 per week day Saturday, October 1, 11
2-9 Production Deploys per Day Saturday, October 1, 11
EyBot: release awsm production Saturday, October 1, 11
Ensure master is green Saturday, October 1, 11
Tag the release Saturday, October 1, 11
Assign all merged tickets to the version Saturday, October 1,
11
Push tag to the deploy branch Saturday, October 1, 11
Production automatically deploys from the deploy branch Saturday, October 1,
11
Mark all tickets in this release as resolved Saturday, October
1, 11
Send Notifications Saturday, October 1, 11
Hoptoad Airbrake Saturday, October 1, 11
New Relic Saturday, October 1, 11
Email Saturday, October 1, 11
Saturday, October 1, 11
Saturday, October 1, 11
The actual deploy Saturday, October 1, 11
Fairly Standard Deploy Saturday, October 1, 11
current/ releases/ shared/ Saturday, October 1, 11
Unicorn Saturday, October 1, 11
bundle install --deployment Saturday, October 1, 11
Zero Downtime Migrations Saturday, October 1, 11
No Magic, Just a technique Saturday, October 1, 11
Adding a column Saturday, October 1, 11
Add a migration to add the column Saturday, October 1,
11
Ship code that needs the new column Saturday, October 1,
11
Deploy the code Restart the servers Then run migrations Saturday,
October 1, 11
More examples Saturday, October 1, 11
Removing a Column Saturday, October 1, 11
Renaming a column Saturday, October 1, 11
A work in progress Saturday, October 1, 11
Thanks! Saturday, October 1, 11
Questions? twitter.com/adelcambre engineyard.com We’re hiring! Saturday, October 1, 11