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
Continuos Deployment
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Lenz Gschwendtner
August 20, 2012
Technology
650
4
Share
Continuos Deployment
My talk at YAPC::EU in Frankfurt about Continuos Deployment and Continuos Testing.
Lenz Gschwendtner
August 20, 2012
More Decks by Lenz Gschwendtner
See All by Lenz Gschwendtner
business modelling
norbu09
0
130
productivity hacks
norbu09
1
110
startup.school.nz August slides
norbu09
4
110
founder.hacks August meetup
norbu09
5
100
Debugging Humans
norbu09
0
97
Docker intro - Meetup Wellington
norbu09
0
130
Planet Express Ship
norbu09
1
1.1k
iWantMyName architecture
norbu09
1
160
realizing ideas
norbu09
1
130
Other Decks in Technology
See All in Technology
TypeScriptエンジニアのためのWASMランタイム入門:AssemblyScriptから理解するメモリの実態(ayano)
ayanoyuki
0
140
大規模環境でどのように監視を実現する?
yuobayashi
1
140
テストコードのないプロジェクトにテストを根付かせる
tttol
0
140
AI時代に改めて考える、ドメイン駆動設計 - モデリングが「AIへの共通言語」になる
littlehands
7
2.4k
情シスがMCP環境導入時に打ちのめされる認可の崖
oidfj
0
450
Node.js+TypeScriptにおけるCJS/ESM相互運用の最新ポイント
grainrigi
2
120
Amazon Bedrock 経由の Claude Cowork を試してみよう・MCP にも繋いでみよう
sugimomoto
0
180
シンデレラなんかになりたくない!ガラスの靴が割れた時代にどう歩く?
nomizone
0
190
まだ道半ば、AI-DLCを歩み始めている話
news_it_enj
2
180
Typiaで配信JSONの安全性を構造的に担保する(TSKaigi2026)
righttouch
PRO
1
170
AIコーディングエージェントの活用で、コードは静かに肥大化した
yosukeshinoda
1
360
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
560
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
290
HDC tutorial
michielstock
2
670
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
Un-Boring Meetings
codingconduct
0
300
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
190
How to Talk to Developers About Accessibility
jct
2
210
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
How GitHub (no longer) Works
holman
316
150k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
790
The SEO identity crisis: Don't let AI make you average
varn
0
470
How to Ace a Technical Interview
jacobian
281
24k
Transcript
Continuos Deployment @norbu09 Monday, 20 August 12
who is that guy anyway Monday, 20 August 12
Austrian Bavarian Kiwi Monday, 20 August 12
why would we want that? way too scary! Monday, 20
August 12
get out of my way let me code, don’t make
me switch context Monday, 20 August 12
robust rollout is key this implies robust rollback Monday, 20
August 12
Giovanni Monday, 20 August 12
$ gio deploy Running deploy for 'githublicious' Loading git Plugin
[git] Tag: [v1331523346] [bender] connected [bender] running update_cache From github.com:norbu09/githublicious db1629a..34c2176 master -> origin/master [bender] Fetching origin Fetching origin Updating db1629a..34c2176 Fast-forward Mojolicious/Plugin/Jenkins.pm | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) [bender] running restart Monday, 20 August 12
$ cat .giovanni.conf [project "githublicious"] hosts = bender root =
~/githublicious init = ~/githublicious/restart deploy = update_cache, restart, notify rollback = rollback, restart, notify repo =
[email protected]
:norbu09/githublicious.git user = lenz Monday, 20 August 12
fork it on github github.com/norbu09/Giovanni Monday, 20 August 12
one step further Monday, 20 August 12
Monday, 20 August 12
githublicious github.com/norbu09/githublicious Monday, 20 August 12
deploy with github post-receive hooks Monday, 20 August 12
$ git branch origin/HEAD -> origin/master origin/admin_tools origin/affiliate_tracking origin/bugfix origin/dyndns
origin/handle_migrate origin/login_split_testing origin/master origin/oauth origin/user_prefs_handling origin/voucher_codes ... Monday, 20 August 12
define a “master” Monday, 20 August 12
run anything on commit Monday, 20 August 12
currently supports • Jenkins and Giovanni • Jabber and HipChat
• git • tagged and timestamped rollout Monday, 20 August 12
one step further Monday, 20 August 12
Continuos Testing Monday, 20 August 12
no bugs right now vs no bugs when i tested
it Monday, 20 August 12
stuff breaks over time Monday, 20 August 12
The Eye Monday, 20 August 12
Test Driven Monitoring Monday, 20 August 12
• add a test directory • write Mechanizer or PhantomJS
tests • run TheEye • get notifies if tests fail Monday, 20 August 12
bin/TheEye [test directory] Monday, 20 August 12
for your peace of mind Monday, 20 August 12
• any test that outputs TAP • Prowl notifications •
RRD and Graphite graphs currently supports Monday, 20 August 12
summary Monday, 20 August 12
automate everything Monday, 20 August 12
notify a lot via Jabber / IRC / new thing
of the day Monday, 20 August 12
avoid context switching Monday, 20 August 12
questions? @norbu09 Monday, 20 August 12