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
280
A Build Monkey's Apology
quad
1
140
After today, you will yell at doors
quad
0
160
Railfans in North Korea
quad
1
220
Test Invaders
quad
0
210
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
900
Just Die Already
quad
0
15k
What and who are DNS, SMTP, and XMPP?
quad
1
270
Other Decks in Programming
See All in Programming
Code Reviews
bkuhlmann
4
880
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
110
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
440
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
260
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
360
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
スクラムチームと認知負荷 - ニフティのスクラムトーク Vol2. / NIFTY Tech Talk #18
niftycorp
PRO
1
120
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
370
ログラスを支える設計標準について / loglass-design-standards
urmot
10
2.1k
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
180
Folding Cheat Sheet #1
philipschwarz
PRO
0
210
Featured
See All Featured
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Music & Morning Musume
bryan
41
5.6k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
We Have a Design System, Now What?
morganepeng
42
6.7k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Gamification - CAS2011
davidbonilla
76
4.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
29
46k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
Practical Orchestrator
shlominoach
181
9.7k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
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.