Where I confessed my sins and sought atonement from an audience.
A Build Monkey'sApologyScott RobinsonThoughtWorks
View Slide
ExcusesScott RobinsonApologist
Apologetics (from Greek ἀπολογία,"speaking in defense") is the discipline ofdefending a position (often religious)through the systematic use of information.
Automate EverythingScott RobinsonOccasional DevOp
I broke the build.Sorry.
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 us fromcontinuing withconfidence?
I broke builds whilefixing a broken build.Sorry.
Will it debug?
Configuration• Version control build configuration• Build scripts in the source tree• Use new pipelines and agents
Resource by Capability• build• project-a• scott’s boxNO• Windows• JRuby• SeleniumYES
Who is on the pagertree for the build?
Audience Participation?
I broke dependenciesfor my team.Sorry.
I fixed it. Live.
Version Control
ConfigurationManagement
Configuration Management
I didn’t test Chef.Sorry.
Configuration ManagementVagrant
I tested Chef... inproduction.Sorry.
What does“production” mean?
Summary of Mistakes• Broke the build.• Broke builds while fixing a broken build.• Broke dependencies for my team.
Sorry.