Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Build Monkey's Apology

A Build Monkey's Apology

Where I confessed my sins and sought atonement from an audience.

Scott Robinson

September 26, 2012

More Decks by Scott Robinson

Other Decks in Technology


  1. A Build Monkey's Apology Scott Robinson ThoughtWorks

  2. Excuses Scott Robinson Apologist

  3. Apologetics (from Greek ἀπολογία, "speaking in defense") is the discipline

    of defending a position (often religious) through the systematic use of information.
  4. Automate Everything Scott Robinson Occasional DevOp

  5. I broke the build. Sorry.

  6. Smoke Build Test Deploy

  7. Smoke Build Test Deploy Test

  8. Smoke Build Test Deploy Test Build Build Test Test

  9. Smoke Build Test Deploy Test Build Build Deploy Deploy Test

    Deploy Test
  10. Smoke Important Mess Less Important Mess

  11. Feedback Cycle

  12. Feedback Cycle • Order stages by team value • Do

    not stop for regression • Do not mark tests as broken
  13. What stops us from continuing with confidence?

  14. I broke builds while fixing a broken build. Sorry.

  15. None
  16. Will it debug?

  17. None
  18. Configuration • Version control build configuration • Build scripts in

    the source tree • Use new pipelines and agents
  19. Resource by Capability • build • project-a • scott’s box

    NO • Windows • JRuby • Selenium YES
  20. Who is on the pager tree for the build?

  21. Audience Participation?

  22. I broke dependencies for my team. Sorry.

  23. I fixed it. Live.

  24. Version Control

  25. Configuration Management

  26. Configuration Management

  27. I didn’t test Chef. Sorry.

  28. Configuration Management Vagrant

  29. I tested Chef... in production. Sorry.

  30. What does “production” mean?

  31. Summary of Mistakes • Broke the build. • Broke builds

    while fixing a broken build. • Broke dependencies for my team.
  32. Sorry.