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
92
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
330
Multiple dispatch
conferencesbox
1
51
JQuery UI Keynote
conferencesbox
1
86
Sensible Testing
conferencesbox
2
69
Redis Application Patterns in Rails
conferencesbox
1
110
Making the Web Faster
conferencesbox
2
70
Using Rails without Rails
conferencesbox
1
100
Stranger in These Parts
conferencesbox
1
50
One day of life in V8
conferencesbox
3
240
Other Decks in Technology
See All in Technology
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
830
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
120
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
180
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
250
人工衛星のファームウェアをRustで書く理由
koba789
15
8k
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
860
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
Agile PBL at New Grads Trainings
kawaguti
PRO
1
430
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
400
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
250
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Docker and Python
trallard
45
3.6k
Faster Mobile Websites
deanohume
309
31k
How GitHub (no longer) Works
holman
315
140k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
RailsConf 2023
tenderlove
30
1.2k
GitHub's CSS Performance
jonrohan
1032
460k
The Invisible Side of Design
smashingmag
301
51k
Statistics for Hackers
jakevdp
799
220k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
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