Continuous Integration & Jenkins Jenna Pederson Code Freeze 2012 © 2012 Jenna Pederson All Rights Reserved

What is Continuous Integration? A development practice where developers keep their work continually integrated with the work of other developers and the baseline.

Why Should You Care? ● Reduce rework, time, and cost ● Always have working software ● Find and fix bugs when it is the cheapest ● Immediate feedback on system as a whole ● Less complex, more modular code

Basic Requirement #1 Version control and frequent commits

Basic Requirement #2 Build locally, THEN commit

Basic Requirement #3 Feedback

Basic Requirement #4 Quick Response

Basic Requirement #5 Automated Test Suite

Demo ● Jenkins CI ● Developer Workflow ● View Feedback

Resources ● Continuous Integration by Paul Duvall - http://bit.ly/AysbsP ● Continuous Delivery by Jez Humble - 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 – http://bit.ly/zQKVo8 Jenkins CI - http://jenkins-ci.org/

Questions?