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
A Build Monkey's Apology
Search
Scott Robinson
September 26, 2012
Technology
1
170
A Build Monkey's Apology
Where I confessed my sins and sought atonement from an audience.
Scott Robinson
September 26, 2012
Tweet
Share
More Decks by Scott Robinson
See All by Scott Robinson
DevOps is People
quad
1
400
After today, you will yell at doors
quad
0
190
Railfans in North Korea
quad
1
400
Test Invaders
quad
0
250
So Help Me God, You Will Understand Git's Model, Even If It Kills Me
quad
0
200
Functional Reactive Programming: A Video Game and Piece of CRUD
quad
1
990
Just Die Already
quad
0
16k
OMG BUILDZ
quad
0
150
What and who are DNS, SMTP, and XMPP?
quad
1
300
Other Decks in Technology
See All in Technology
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
210
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
220
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
370
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
170
Android Audio: Beyond Winning On It
atsushieno
0
110
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
330
20250913_JAWS_sysad_kobe
takuyay0ne
2
180
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
400
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
It's Worth the Effort
3n
187
28k
Six Lessons from altMBA
skipperchong
28
4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Why Our Code Smells
bkeepers
PRO
339
57k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Navigating Team Friction
lara
189
15k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Unsuck your backbone
ammeep
671
58k
BBQ
matthewcrist
89
9.8k
The Invisible Side of Design
smashingmag
301
51k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Transcript
A Build Monkey's Apology Scott Robinson ThoughtWorks
Excuses Scott Robinson Apologist
Apologetics (from Greek ἀπολογία, "speaking in defense") is the discipline
of defending a position (often religious) through the systematic use of information.
Automate Everything Scott Robinson Occasional DevOp
I broke the build. Sorry.
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 us from continuing with confidence?
I broke builds while fixing a broken build. Sorry.
None
Will it debug?
None
Configuration • Version control build configuration • Build scripts in
the source tree • Use new pipelines and agents
Resource by Capability • build • project-a • scott’s box
NO • Windows • JRuby • Selenium YES
Who is on the pager tree for the build?
Audience Participation?
I broke dependencies for my team. Sorry.
I fixed it. Live.
Version Control
Configuration Management
Configuration Management
I didn’t test Chef. Sorry.
Configuration Management Vagrant
I tested Chef... in production. Sorry.
What does “production” mean?
Summary of Mistakes • Broke the build. • Broke builds
while fixing a broken build. • Broke dependencies for my team.
Sorry.