Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Continuous Integration

296 views

Published on

A practical overview of the practice of Continuous Integration - what it is, why you should care and how to do it.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Continuous Integration

  1. 1. Continuous Integration Rouan Wilsenach @rouanw
  2. 2. What?
  3. 3. Continuous Integration put together all the time everyone’s changes
  4. 4. Integrating later http://martinfowler.com/bliki/FeatureBranch.html
  5. 5. Integrating later
  6. 6. Continuous Integration
  7. 7. Why?
  8. 8. The cost of integration !   Merging the code !   Duplicate changes !   Testing again !   Fixing bugs !   Impact on stability
  9. 9. The cost of integration context time no. of changes
  10. 10. The cost of integration cost of merging & fixing bugs time
  11. 11. Enabling Continuous Delivery Iteration 0 1 2 3 4 Analysis + Design Development Testing + Showcase Integration + QA Release and operation Customer Centralized QA IT Operations "Agile" team The "last mile"
  12. 12. Enabling Continuous Delivery Customer Delivery team Constant flow of new features into production software always production-ready releases tied to business needs, not operational constraints Continuous Delivery
  13. 13. How?
  14. 14. Maintain a Single Source Repository
  15. 15. Automate the build
  16. 16. Make your build self testing
  17. 17. Everyone commits to the mainline every day
  18. 18. Every commit builds main on CI server
  19. 19. Keep the build fast
  20. 20. Test in a clone of production
  21. 21. Make it easy to get the latest artifact
  22. 22. Make it visible
  23. 23. If it’s broken, fix it
  24. 24. Automate deployment
  25. 25. Make it visible
  26. 26. Team discipline
  27. 27. On the mainline? Eek!
  28. 28. Small changes
  29. 29. User stories Database / Service User Interface Business logic
  30. 30. Don’t put code in the way of execution
  31. 31. Feature toggles http://martinfowler.com/bliki/FeatureToggle.html
  32. 32. Branch by abstraction http://continuousdelivery.com/wp-content/uploads/2011/05/branch_by_abstraction.png
  33. 33. Automated testing
  34. 34. Questions?

×