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
Continuous Deployment
Search
Conferences Box
March 16, 2012
Technology
1
79
Continuous Deployment
Conferences Box
March 16, 2012
Tweet
Share
More Decks by Conferences Box
See All by Conferences Box
Socket.IO in Chess Realtime Multiplayer Web Application
conferencesbox
2
310
Multiple dispatch
conferencesbox
1
37
JQuery UI Keynote
conferencesbox
1
76
Sensible Testing
conferencesbox
2
60
Redis Application Patterns in Rails
conferencesbox
1
110
Making the Web Faster
conferencesbox
2
64
Using Rails without Rails
conferencesbox
1
88
Stranger in These Parts
conferencesbox
1
37
One day of life in V8
conferencesbox
3
230
Other Decks in Technology
See All in Technology
Documentação de Produtos: Artefatos essenciais na prática
rigolon
1
180
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
2
400
成長をサポートするピープルマネジメントのやり方
sioncojp
9
1.3k
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
440
LangSmith入門―トレース/評価/プロンプト管理などを担うLLMアプリ開発プラットフォーム
os1ma
5
750
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
1
370
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
470
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.7k
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
340
社内アプリで Cloudflare D1を プロダクト運用してみた体験談(Tokyo)
haochenx
0
120
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
1.8k
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
210
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
Typedesign – Prime Four
hannesfritz
36
2.1k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Stop Working from a Prison Cell
hatefulcrawdad
267
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Happy Clients
brianwarren
92
6.4k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Teambox: Starting and Learning
jrom
128
8.4k
Done Done
chrislema
178
15k
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