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

OMG BUILDZ

OMG BUILDZ

To all my downtrodden build monkeys of the world.

Scott Robinson

November 03, 2011
Tweet

More Decks by Scott Robinson

Other Decks in Programming

Transcript

  1. HAI GAIS

    View Slide

  2. View Slide

  3. λ = t·d

    View Slide

  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)!

    View Slide

  5. L = λW
    Little’s Law

    View Slide

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

    View Slide

  7. View Slide

  8. Pre-Commit

    View Slide

  9. Smoke Build Test Deploy

    View Slide

  10. Smoke Build Test Deploy Test

    View Slide

  11. Smoke Build Test Deploy Test
    Build
    Build
    Test
    Test

    View Slide

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

    View Slide

  13. Smoke
    Important
    Mess
    Less Important
    Mess

    View Slide

  14. Feedback Cycle

    View Slide

  15. Feedback Cycle
    • Order stages by team value
    • Do not stop for regression
    • Do not mark tests as broken

    View Slide

  16. What stops you from
    continuing with
    confidence?

    View Slide

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

    View Slide

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

    View Slide

  19. Use Virtual Machines

    View Slide

  20. Use Virtual Machines
    • Snapshot and Clone
    • Validate machines
    • Resource by Capability

    View Slide

  21. Resource by Capability
    • Windows
    • JRuby
    • Selenium
    • build
    • project-a
    • scott’s box
    YES NO

    View Slide

  22. Use Configuration
    Management

    View Slide

  23. Use Configuration
    Management

    View Slide

  24. Use Configuration
    Management
    Vagrant

    View Slide

  25. Configuration
    • Version build configuration
    • Build scripts in the source tree
    • Use build artifacts

    View Slide

  26. •Keep build time low
    •Each stage in a pipeline
    increases confidence
    •Builds are part of your
    software

    View Slide

  27. fin
    The hardest part about builds is safe experimentation.
    Sadly, our tools make this hard for us.

    View Slide

  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.

    View Slide