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

Continuous Delivery: What I Wish I Knew

Continuous Delivery: What I Wish I Knew

These slides are from the talk I gave at the DC CTO summit in October 2014. It covers the basics around continuous delivery as well as some of the surprises we've run into as we've moved to a continuous delivery mindset.

Andrew Willis

October 28, 2014
Tweet

Other Decks in Technology

Transcript

  1. 2

  2. 3

  3. 4

  4. 5

  5. What Is It? • Automatically deploying after every commit to

    master • Deploying very frequently, not necessarily automatically 8
  6. What Is It? 9 Lots of low ceremony deploys kicked

    off by anyone on the team at anytime
  7. Getting Started 1. An automated test suite with reasonable coverage

    2. A fully-scripted deploy 3. A way to coordinate multiple people who want to deploy at the same time 4. A deploy process that’s done by a single group 10
  8. 14

  9. A team should be able to deploy a change without

    changing the priorities of another group Self-contained Deploys 15
  10. 200c48c - remove restrictive direct descendant selectors in SQ 65a64b2

    - be more specific about selecting the color count field when a print location is added a43e3b5 - render super_quote partial with a quote instead of order 081840e - rename @quote to @quote_set 7ce3799 - modularize the mini super quote e615320 - make turn_addend method less order-specific 93f45a2 - add serviced_base_price to order 0f52a9c - update SQ pricing summary to handle service charges 25ac706 - fix timezone for quote timestamps 8a4c6e1 - display service charges with label defined from quote client d3efe1f - disallow saving of dirty quotes in SQ 74b6c41 - fix saved quote page when some order items are marked for destruction 5756a75 - fix saved quotes in SQ when some order items are marked for destruction 20741ed - only migrate group_orders if design is present cd67189 - Allow steppers to use input fields on mobile devices What Was Deployed Last Week? 18
  11. A/B Testing FTW! • Built a light-weight A/B testing framework

    • New functionality is rolled out continuously to test users • Rolled out in larger “releases” for the rest of the department 21
  12. 22 Tools that tell you if there’s a site problem

    allow you to move faster Surprise #3
  13. Our Canary System • Looks at page views and departure

    rates for almost every page on the site • Compares rates with recent history • Flags anything outside of a threshold 23 This system has been the single biggest win for our CD efforts
  14. 24 It becomes easy to deploy a change and forget

    to check it in production Surprise #4
  15. Recording History • Deploy scripts automatically append to a Google

    doc –when the deploy happened –who did it –what app was changed –GitHub compare URL 26
  16. 27

  17. Our Deploy Process 1. Add yourself to the deploy train

    2. Merge into master 3. Run automated tests in Jenkins 4. Deploy 5. Mark deployed as verified 28