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

Continuous Integration: A bittersweet story

Continuous Integration: A bittersweet story

This is the bittersweet story of Continuous Integration. CI is practice that we fell in love with, embraced and then never fully committed to. I’ll share with you the current state of CI, what we think we are doing when we say CI and what we are really doing in terms of CI. Then I’ll remind us all why we fell in love with CI in the first place and make some suggestions on how to get back to the good stuff.

Originally presented at DevOpsDays Raleigh in October 2016 https://www.devopsdays.org/events/2016-raleigh/program/suzie-prince/

suziejprince

October 06, 2016
Tweet

More Decks by suziejprince

Other Decks in Programming

Transcript

  1. ❤ Continuous Integration: A bittersweet love story

  2. Head of Product for ThoughtWorks Products Product Manager for Snap

    CI 10+ years experience with agile, CI and CD practices Tweeting @pm_suzie
  3. ❤ CI FOREVER

  4. Hands up !

  5. What is CI?

  6. None
  7. – Jez Humble, continuousdelivery.com “CI developers integrate all their work

    into trunk (also known as mainline or master) on a regular basis (at least daily).”
  8. daily master

  9. Single code repository

  10. Build every commit

  11. Automate the build

  12. Self testing

  13. Fast!

  14. Visible failures

  15. Fix failures immediately

  16. daily master

  17. Why we fell in love with CI?

  18. Avoid merge conflicts

  19. Fast feedback

  20. Reduce risks

  21. Collective ownership

  22. 1996 Steve McConnell describes the "Daily Build and Smoke Test"

    technique 2000 Martin Fowler’s first published his comprehensive Continuous Integration article 2010 Book “Continuous Delivery” by Humble and Farley published Our story so far….. 1993 Grady Booch used the phrase “continuous integration” in Object-Oriented Analysis and Design with Applications 2007 Book “Continuous Integration” by Duvall published 2016 Wikipedia lists 15+ continuous integration Tools 2001 The first continuous integration server Cruise Control is released 2015 CI described as “most essential technical practice” in SAFe 1998 Continuous integration is cited as a core practice of Extreme Programming ❤
  23. COMPLICATED IT’S

  24. 3% 5% 6% 18% Daily 68% Daily Weekly Monthly Other

    Never http://stackoverflow.com/research/developer-survey-2016#work-checking-in-code How often do you check in or commit code?
  25. 40% 20% 40% Practising Plans to practice No plans http://public.brighttalk.com/resource/core/88443/december_16_agile_in_the_enterprise_wholz_131607.pdf

    When did or will your organization begin to practice continuous integration?
  26. Contextual research affinity wall https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/

  27. What do people know about Continuous Integration? Do they practice

    Continuous Integration? How do they practice Continuous Integration? What tools do people use to practice Continuous Integration? How do people define Continuous Integration?
  28. You commit some code, something picks it up and builds

    and makes sure it still builds I push the code to the master branch after it's been tested on the test branch. That in return triggers something and gets deployed …testing your code all the time. Executing the code that you write all the time, making sure the code doesn't go stale
  29. https://blog.snap-ci.com/blog/2016/07/26/continuous-delivery-integration-devops-research/ We tend to do anywhere between 15 and 50

    branches in a push The most challenging thing is when you end up with a lot of features piled together in one commit Anytime a feature is finally complete then it get’s merged into master
  30. COMPLICATED IT’S

  31. None
  32. Not getting the benefits of CI

  33. Painful

  34. Not ready for Continuous Delivery or DevOps

  35. SAVE YOUR LOVE LIFE NOW! 3 HOT TIPS

  36. Commit more often

  37. Automate, automate, automate

  38. Trunk based development

  39. daily master

  40. ❤ CI FOREVER

  41. To be continued…