Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SFRuby Nov 2011 - 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
November 17, 2011
Programming
96
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SFRuby Nov 2011 - Release Early and Release Often
Andy Delcambre
November 17, 2011
More Decks by Andy Delcambre
See All by Andy Delcambre
Git and GitHub at YAPC:Asia
adelcambre
1
3.4k
Git, GitHub, Etc
adelcambre
3
260
Systems Programming - SoCoded 2013
adelcambre
2
200
Ruby Systems Programming
adelcambre
4
1.2k
Debugging Production Service Oriented Systems
adelcambre
3
450
Ruby, Rails and Engine Yard - Úll
adelcambre
1
340
Release early and Release often
adelcambre
2
550
Other Decks in Programming
See All in Programming
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
110
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
120
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
dRuby over BLE
makicamel
2
330
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
330
さぁV100、メモリをお食べ・・・
nilpe
0
140
A2UI という光を覗いてみる
satohjohn
1
130
CSC307 Lecture 17
javiergs
PRO
0
320
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
540
RTSPクライアントを自作してみた話
simotin13
0
580
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
270
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
580
Six Lessons from altMBA
skipperchong
29
4.3k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
230
Designing for Timeless Needs
cassininazir
1
250
Fireside Chat
paigeccino
42
3.9k
Scaling GitHub
holman
464
140k
Test your architecture with Archunit
thirion
1
2.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Transcript
RELEASE EARLY & Andy Delcambre Engine Yard RELEASE OFTEN
@adelcambre
None
STARTING A NEW TASK
None
None
git checkout -b U-666
git commit -m “[U-666] add unicorns”
None
............................. ..*......**.................. ............................. ...................... Finished in 10.809554 seconds 109 examples,
0 failures, 3 pending
None
None
EyBot
None
None
None
None
None
CONTINUOUS INTEGRATION
MASON
None
$ git checkout master $ git merge U-666 $ git
push origin master
MARK TICKET AS “MERGED”
AUTO DEPLOY TO EDGE
None
531 DEPLOYS IN OCTOBER
~ 20 per week day
2-9 Production Deploys per Day
EyBot: release awsm production
Ensure master is green
Tag the release
Assign all merged tickets to the version
Push tag to the deploy branch
Production automatically deploys from the deploy branch
Mark all tickets in this release as resolved
Send Notifications
Airbrake
New Relic
Email
None
None
The actual deploy
Fairly Standard Deploy
current/ releases/ shared/
Unicorn
Zero Downtime Migrations
No Magic, Just a technique
Adding a column
Add a migration to add the column
Ship code that needs the new column
Deploy the code Restart the servers Then run migrations
A work in progress
Thanks!
Questions? twitter.com/adelcambre engineyard.com We’re hiring!