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

Continuous Deployment

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Continuous Deployment

Avatar for Conferences Box

Conferences Box

March 16, 2012
Tweet

More Decks by Conferences Box

Other Decks in Technology

Transcript

  1. From Timothy Fitz: •Continuously integrate (commit early and often) •On

    commit automatically run all tests •If the tests pass deploy to the cluster •If the deploy succeeds, repeat
  2. Things We Needed • Simplified Release Process • Thorough Testing

    • Continuous Integration • Monitoring All things we should have anyway
  3. Fast and Efficient Tests • Profiling • Don't disguise integration

    tests as unit tests (isolate) • Avoid test duplication • Create fewer objects • Load dependencies as needed • Don't test/use Rails
  4. CI Should Be Fast Previous CI Server: • Quad-Core AMD

    Opteron(tm) Processor • 16GiB RAM • Rackspace Cloud instance • 30 minutes to run tests Current CI Server: • 16 Core Intel(R) Xeon(R) CPU 2.40GHz • 32GiB RAM • SSD • 7 minutes to run tests
  5. Monitoring • A user should not be the first one

    to notify you that something broke • Something automatic should freak out when stuff breaks
  6. Excuses • More releases would be more pain • Our

    tests are insufficient • Our users/stakeholders won't be cool with it