The practice of continuous integration (CI) has the ability to transform software development from a set of manual processes to a logical series of reproducible, automated processes. There are three concepts that are key to continuous integration; the blueprint, the toolbox, and the master craft. This session presents the CI lifecycle as a blueprint. You will see and understand the series of development processes that establish an effective, automated progression from source code to a packaged deliverable. You will learn about the CI server, which is the fundamental tool that initiates, performs, coordinates, and reports throughout the CI phases. The toolbox includes both the CI server and the combination of technologies that support CI. Continuous integration is a master craft of Agile engineering. To help you be effective with continuous integration, this talk demonstrates both the knowledge and skills needed to achieve the desired results of CI and to maximize its value.
1. Continuous Integration:
Blueprint, Toolbox, Master Craft
DC .NET Users Group (@DCDNUG) Stephen D. Ritchie
February 2013 Meeting
@RuthlessHelp
Feb 19, 2013
Stephen D. Ritchie – Managing Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com
2. Live Tweet, Slides and Examples
• Twitter: @RuthlessHelp
• Slides:
http://www.slideshare.net/ruthlesshelp
• Code Samples:
http://github.com/ruthlesshelp
Stephen D. Ritchie 2
3. The Problem
1 Scott makes changes
2 Susan makes changes
3 You can’t build
Source
Code
1 3 2
Scott’s Susan’s
You
Computer Computer
Stephen D. Ritchie 3
4. What Went Wrong?
Conflicts
Missing Files
Breaking Changes
Stephen D. Ritchie 4
5. How do you
find
integration
issues?
Stephen D. Ritchie 5
6. Manual Integration
Build
Run Some Unit Tests
Perform Static Analysis
Clean + Rebuild All
Stephen D. Ritchie 6