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
OMG BUILDZ
Search
Scott Robinson
November 03, 2011
Programming
0
140
OMG BUILDZ
To all my downtrodden build monkeys of the world.
Scott Robinson
November 03, 2011
Tweet
Share
More Decks by Scott Robinson
See All by Scott Robinson
DevOps is People
quad
1
310
A Build Monkey's Apology
quad
1
150
After today, you will yell at doors
quad
0
170
Railfans in North Korea
quad
1
250
Test Invaders
quad
0
220
So Help Me God, You Will Understand Git's Model, Even If It Kills Me
quad
0
190
Functional Reactive Programming: A Video Game and Piece of CRUD
quad
1
920
Just Die Already
quad
0
15k
What and who are DNS, SMTP, and XMPP?
quad
1
280
Other Decks in Programming
See All in Programming
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
生成AIをkintoneに連携してみた
hideg
0
230
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
CSC307 Lecture 13
javiergs
PRO
0
150
Google's Recipe for Scaling (Web) Security – LocoMocoSec 2024
lweichselbaum
0
170
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
Ruby メモリ管理 プログラミング
megmogmog1965
0
130
初心者がおさえておきたいAWS CDKのベストプラクティス 2024
konokenj
15
7.3k
Webエディタライブラリ 「CodeMirror」から学ぶ Webアプリ開発のテクニック
ryosukeigarashi
0
250
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
最古の関数型言語「Lisp」ことはじめ / lisp_in_kamiyama
uhooi
1
190
Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library
coe401_
1
220
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
Become a Pro
speakerdeck
PRO
15
4.8k
Why Our Code Smells
bkeepers
PRO
332
56k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
34
1.9k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Designing for humans not robots
tammielis
247
25k
WebSockets: Embracing the real-time Web
robhawkes
59
7.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
Transcript
HAI GAIS
None
λ = t·d
0! 10! 20! 30! 40! 50! 60! 70! 80! 90!
1! 2! 4! 8! 16! # of contributors! Builds / hr" (avg. 1 - 4 commits / hr)!
L = λW Little’s Law
1! 2! 3! 4! 5! 6! 7! 8! Build 1!
Build 2! Build 3!
None
Pre-Commit
Smoke Build Test Deploy
Smoke Build Test Deploy Test
Smoke Build Test Deploy Test Build Build Test Test
Smoke Build Test Deploy Test Build Build Deploy Deploy Test
Deploy Test
Smoke Important Mess Less Important Mess
Feedback Cycle
Feedback Cycle • Order stages by team value • Do
not stop for regression • Do not mark tests as broken
What stops you from continuing with confidence?
•Resourcing •Configuration What takes our time?!
On Designing and Deploying Internet-Scale Services http://bit.ly/ReadThisPaper
Use Virtual Machines
Use Virtual Machines • Snapshot and Clone • Validate machines
• Resource by Capability
Resource by Capability • Windows • JRuby • Selenium •
build • project-a • scott’s box YES NO
Use Configuration Management
Use Configuration Management
Use Configuration Management Vagrant
Configuration • Version build configuration • Build scripts in the
source tree • Use build artifacts
•Keep build time low •Each stage in a pipeline increases
confidence •Builds are part of your software
fin The hardest part about builds is safe experimentation. Sadly,
our tools make this hard for us.
Thank You — Andrew K. — Brady L. — Brian
G. — Dane B. — Darren S. — Dave R. — Evan B. — James F. — Julio M. — Kristan V. — Maha N. — Rob H. — Ryan B. — Sam G. — Scott S. — Sreeni A. — Wen D.