To all my downtrodden build monkeys of the world.
HAI GAIS
View Slide
λ = 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 = λWLittle’s Law
1!2!3!4!5!6!7!8!Build 1!Build 2!Build 3!
Pre-Commit
Smoke Build Test Deploy
Smoke Build Test Deploy Test
Smoke Build Test Deploy TestBuildBuildTestTest
Smoke Build Test Deploy TestBuildBuildDeployDeployTestDeployTest
SmokeImportantMessLess ImportantMess
Feedback Cycle
Feedback Cycle• Order stages by team value• Do not stop for regression• Do not mark tests as broken
What stops you fromcontinuing withconfidence?
•Resourcing•ConfigurationWhat takes our time?!
On Designing andDeploying Internet-ScaleServiceshttp://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 boxYES NO
Use ConfigurationManagement
Use ConfigurationManagementVagrant
Configuration• Version build configuration• Build scripts in the source tree• Use build artifacts
•Keep build time low•Each stage in a pipelineincreases confidence•Builds are part of yoursoftware
finThe 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.