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
Continuous Deployment
Search
Conferences Box
March 16, 2012
Technology
100
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Continuous Deployment
Conferences Box
March 16, 2012
More Decks by Conferences Box
See All by Conferences Box
Socket.IO in Chess Realtime Multiplayer Web Application
conferencesbox
2
350
Multiple dispatch
conferencesbox
1
66
JQuery UI Keynote
conferencesbox
1
98
Sensible Testing
conferencesbox
2
110
Redis Application Patterns in Rails
conferencesbox
1
130
Making the Web Faster
conferencesbox
2
82
Using Rails without Rails
conferencesbox
1
110
Stranger in These Parts
conferencesbox
1
80
One day of life in V8
conferencesbox
3
260
Other Decks in Technology
See All in Technology
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
170
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
330
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
390
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
継続的なAIコスト最適化
bgpat
1
340
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
860
Local CI × GitHub Actions
gogutan
2
190
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
170
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Fireside Chat
paigeccino
43
4.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
sira's awesome portfolio website redesign presentation
elsirapls
0
450
Chasing Engaging Ingredients in Design
codingconduct
0
360
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
Done Done
chrislema
187
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
Making the Leap to Tech Lead
cromwellryan
135
10k
Transcript
Continuous Deployment
Matt White @whitethunder922 github.com/whitethunder
What is meant by “Continuous Deployment?”
From Timothy Fitz: •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
How often do you deploy?
Our Journey to Continuous Deployment
Things We Needed • Simplified Release Process • Thorough Testing
• Continuous Integration • Monitoring All things we should have anyway
Simplified Release Process
Make Releases Less Like This
None
None
Thorough Testing • Not necessarily 100% test coverage • Tests
that do what your users do
Fast and Efficient Tests • Profiling • Don't disguise integration
tests as unit tests (isolate) • Avoid test duplication • Create fewer objects • Load dependencies as needed • Don't test/use Rails
Continuous Integration
CI Should Be Fast Previous CI Server: • Quad-Core AMD
Opteron(tm) Processor • 16GiB RAM • Rackspace Cloud instance • 30 minutes to run tests Current CI Server: • 16 Core Intel(R) Xeon(R) CPU 2.40GHz • 32GiB RAM • SSD • 7 minutes to run tests
Make Use of Multiple CPU Cores
parallel_tests
hydra
Monitoring • A user should not be the first one
to notify you that something broke • Something automatic should freak out when stuff breaks
None
New Relic
New Relic
Excuses • More releases would be more pain • Our
tests are insufficient • Our users/stakeholders won't be cool with it
rollout
Benefits • Waste is reduced • Fail fast • Encourages
working in smaller increments
Result
MOAR PONIES!!!11! Who couldn't use moar ponies??!!?
Questions? Matt White @whitethunder922 github.com/whitethunder