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

Boxen: PuppetConf 2013

Boxen: PuppetConf 2013

Will Farrington

August 23, 2013
Tweet

More Decks by Will Farrington

Other Decks in Technology

Transcript

  1. ! "

  2. T E S T A L L T H E

    F & % $ I N G T I M E
  3. “Whatever you do, make sure you are testing, because if

    you aren’t, all you are doing is making it harder for yourself when you revisit the code, and making it even harder for the next developer who will inevitably have to maintain what you just wrote.” - Bryan Liles
  4. $

  5. “Whatever you do, make sure you are automating, because if

    you aren’t, all you are doing is making it harder for yourself when you revisit the problem, and making it even harder for the next person who will inevitably have to reproduce your solution.”
  6. “Whatever you do, make sure you are automating, because if

    you aren’t, all you are doing is making it harder for yourself when you revisit the problem, and making it even harder for the next person who will inevitably have to reproduce your solution.”
  7. AUTOMATING SOLUTIONS TO PROBLEMS LEADS TO REPRODUCIBLE SOLUTIONS WHICH ARE

    EASIER THAN SOLVING PROBLEMS UNIQUELY EACH TIME
  8. AUTOMATING SOLUTIONS TO PROBLEMS LEADS TO REPRODUCIBLE SOLUTIONS WHICH ARE

    EASIER THAN SOLVING PROBLEMS UNIQUELY EACH TIME FOR EVERYONE
  9. A U T O M A T E A L

    L T H E F & % $ I N G T H I N G S
  10. % &

  11. ' (

  12. )

  13. *

  14. class github::environment { include clojure include go include mysql include

    nodejs include postgresql include ruby $gems = [ 'bundler', 'rails' ] ruby::gem { $gems: } }
  15. class github::environment::rails { include mysql include nodejs # asset pipeline

    :( include ruby $gems = [ 'bundler', 'rails' ] ruby::gem { $gems: } }
  16. # grep boxen github/puppet/Puppetfile mod "nodejs", "3.2.5", :github_tarball => "boxen/puppet-nodejs"

    mod "phantomjs", "2.0.1", :github_tarball => "boxen/puppet-phantomjs" mod "repository", "2.2.0", :github_tarball => "boxen/puppet-repository"