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

Continuous Deployment @ Coolblue

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Continuous Deployment @ Coolblue

Avatar for Paul de Raaij

Paul de Raaij

February 15, 2017

Other Decks in Technology

Transcript

  1. 187

  2. • +/- 50 deploys per day on all platforms •

    Single button deployment • Developers do their own deployment FACTS AND FIGURES.
  3. • Automated tests • Unit testing • Functional testing •

    Static code analysers • Lint checkers • Code duplication checkers • Code sniffers • Code metrics QUALITY ASSURANCE.
  4. BE LAZY; YOU DON’T HAVE TO DO IT YOURSELF Continuous

    inspection platform are becoming a service.
  5. • Close to the OS • RPMs distributed via own

    repository • Installed/Updated via OS package manager • Updates triggered via puppet run LINUX.
  6. • Control over file permissions & rights • Clean uninstallation

    • Package managers are simple and well-known • Easily distributed • No added complexity of third-party tools RPMS ARE POWERFUL.
  7. • Octopus Deploy so we can deploy: • Web Services

    • Windows services • Desktop applications WINDOWS.
  8. • Automated inspection • Automated delivery • Except production •

    May have automated post deployment tests Every change is proven to be deployable!
 Deployment after manual trigger CONTINUOUS DELIVERY.
  9. • Continuous delivery • Automated deployment to production • Has

    automated post-deploy tests CONTINUOUS DEPLOYMENT.
  10. • Website still up? • Does the functionality work? •

    New functionality • Old functionality • especially old functionality (regression) • Haven’t I killed the infrastructure? CHECK FOR SUCCESS.
  11. APPLICATION STATISTICS. Measure everything. give you up let you down

    run you down & desert you make you cry say goodbye tell a lie & hurt you
  12. • Deploy to part of the cluster • X% percentage

    live • A/B testing (?) CANARY DEPLOYMENT.
  13. DEVELOP, TEST, DEPLOY, REPEAT. Review & test Write code Commit

    & push Open pull request Build Package Staging Production Post-deploy tests Post-deploy
 tests
  14. • Automated smoke tests on acceptance environment • User acceptance

    tests (AKA The PO test) POST-DEPLOY TESTS @ COOLBLUE.