Gain Confidence with Continuous Integration

805 views

Published on

Instead of scheduling time to integrate code at the end of development, learn how to integrate often, find and fix bugs early, and improve developer productivity. See a popular CI tool in action and learn how the practice of continuous integration will give you more confidence in your software so you can start thinking about continuous delivery.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
805
On SlideShare
0
From Embeds
0
Number of Embeds
187
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Gain Confidence with Continuous Integration

    1. 1. Gain Confidence With Continuous Integration Twin Cities Code Camp Spring 2012 © 2012 Jenna Pederson All Rights Reserved
    2. 2. Agenda • Who Am I? • What is Continuous Integration? • Why Should You Care? • What Do You Need to Do CI? • What Else Can CI Do? • Demo • What About Continuous Delivery? • Questions
    3. 3. Who Am I? • Jenna Pederson • Programmer-geek, developer coach • Twitter: jennapederson • Blog: www.jpedersonconsulting.com/ blog
    4. 4. What is Continuous Integration? "Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible." -- Martin Fowler
    5. 5. Why Should You Care?
    6. 6. Reduce rework, time, and cost Image: 401K / http://www.flickr.com/photos/68751915@N05/
    7. 7. Always have working software Image: Genista / http://www.flickr.com/photos/genista/
    8. 8. Find and fix bugs when it is the cheapest Image: Salvatore Vuono / FreeDigitalPhotos.net
    9. 9. Immediate feedback on the system as a whole
    10. 10. Less complex, more modular code Image: woodleywonderworks / http://www.flickr.com/photos/wwworks/
    11. 11. What do you need to do CI?
    12. 12. Version Control (and frequent commits)
    13. 13. Same Build Process for Every Environment (even for developers)
    14. 14. Feedback Image: Grant Cochrane / FreeDigitalPhotos.net
    15. 15. Quick Response Image: Loco Steve / http://www.flickr.com/photos/locosteve/
    16. 16. Automated Test Suite
    17. 17. What Else Can CI Give You?
    18. 18. Automated Documentation
    19. 19. Code Coverage & Other Metrics
    20. 20. Automated Deployment (and rollback) Image: Bravo213 / http://www.flickr.com/photos/bravo213/
    21. 21. Demo
    22. 22. What About Continuous Delivery?
    23. 23. What is Continuous Delivery? “... about putting the release schedule in the hands of the business, not in the hands of IT. Implementing continuous delivery means making sure your software is always production ready throughout its entire lifecycle – that any build could potentially be released to users at the touch of a button using a fully automated process in a matter of seconds or minutes.” -- Jez Humble
    24. 24. Principles • Repeatable • Automate • Painful? Do it more! • Use Source Control for EVERYTHING • Done: Sushi Done vs. Chicken Done • Quality Metrics • Everyone is responsible for releasing • Continuous Improvement
    25. 25. Practices • Build once • Use the same process to deploy to your local dev machine as to prod • Smoke test • Deployment pipelines
    26. 26. Questions?
    27. 27. Resources • Continuous Integration by Paul Duvall - http://bit.ly/AysbsP • Continuous Delivery by Jez Humble & David Farley - http://bit.ly/ zLMFCI • Integrate Often - http://bit.ly/wahTyf • Continuous Integration Anti-patterns - http://ibm.co/zY29l2 • Martin Fowler Continous Integration - http://bit.ly/y96P86 and http://bit.ly/zQKVo8 • Jenkins CI - http://jenkins-ci.org/ • CI and Testing: Mere Child’s Play - http://bit.ly/HI1tVF • 8 Principles of Continuous Delivery - http://bit.ly/HG44tX
    28. 28. Thank You! Twitter: @jennapederson Blog: www.jpedersonconsulting.com/blog

    ×