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

Continuous Integration & Delivery

Avatar for David Wood David Wood
November 03, 2014

Continuous Integration & Delivery

Talk given at Tech Nottingham 2014-11 and DotNetSheff 2015-06.

Avatar for David Wood

David Wood

November 03, 2014

More Decks by David Wood

Other Decks in Programming

Transcript

  1. Hi!

  2. CI: Why? Summary Reduce long & complex integrations Increase visibility

    Catch issues early Spend more time adding features, less bug fixing Reduce time waiting for feedback Increase confidence
  3. CI: How? Test “With testing, I know straight away when

    I added a bug. That lets me fix the bug immediately, before it can crawl off and hide.” - Martin Fowler
  4. CI: How? Test “...maintaining good regression tests is the key

    to refactoring with confidence.” - Andrew Hunt
  5. CI: How? Summary Merge Merge several times a day Build

    Automate builds Build every commit on an integration machine Build quickly Keep builds status visible
  6. CI: How? Summary Test Automate tests Test on a like-live

    environment Keep test results visible Archive build artefacts and test results Perform expensive tests last
  7. CI: How? Summary Be Responsible Merge frequently Don’t commit a

    broken build Don’t commit broken tests Don’t “push and run”
  8. All together Continuous Integration Merge frequently, Automate builds, Automate tests

    Be responsible, don’t break the build Continuous Delivery Aim to deploy every commit (continuous deployment) Keep deployments trivial and low risk
  9. Further Reading The Book: Continuous Delivery, J. Humble & D.

    Farley Thoughtworks, Continuous Integration & Delivery thoughtworks.com/continuous-integration thoughtworks.com/continuous-delivery MartinFowler.com martinfowler.com/tags/continuous%20integration.html