OMG BUILDZ

OMG BUILDZ

To all my downtrodden build monkeys of the world.

1945ab4cdb87eaf5a5c906fa884c29f1?s=128

Scott Robinson

November 03, 2011
Tweet

Transcript

  1. HAI GAIS

  2. None
  3. λ = t·d

  4. 0! 10! 20! 30! 40! 50! 60! 70! 80! 90!

    1! 2! 4! 8! 16! # of contributors! Builds / hr" (avg. 1 - 4 commits / hr)!
  5. L = λW Little’s Law

  6. 1! 2! 3! 4! 5! 6! 7! 8! Build 1!

    Build 2! Build 3!
  7. None
  8. Pre-Commit

  9. Smoke Build Test Deploy

  10. Smoke Build Test Deploy Test

  11. Smoke Build Test Deploy Test Build Build Test Test

  12. Smoke Build Test Deploy Test Build Build Deploy Deploy Test

    Deploy Test
  13. Smoke Important Mess Less Important Mess

  14. Feedback Cycle

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

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

  17. •Resourcing •Configuration What takes our time?!

  18. On Designing and Deploying Internet-Scale Services http://bit.ly/ReadThisPaper

  19. Use Virtual Machines

  20. Use Virtual Machines • Snapshot and Clone • Validate machines

    • Resource by Capability
  21. Resource by Capability • Windows • JRuby • Selenium •

    build • project-a • scott’s box YES NO
  22. Use Configuration Management

  23. Use Configuration Management

  24. Use Configuration Management Vagrant

  25. Configuration • Version build configuration • Build scripts in the

    source tree • Use build artifacts
  26. •Keep build time low •Each stage in a pipeline increases

    confidence •Builds are part of your software
  27. fin The hardest part about builds is safe experimentation. Sadly,

    our tools make this hard for us.
  28. 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.