Upload
stephen-ritchie
View
1.824
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
Stephen D. Ritchie – Managing Consultant – Excella Consulting, Inc., 2300 Wilson Blvd, Suite 630, Arlington, VA 22201 – 703.840.8600 – http://excella.com
Continuous Integration:Blueprint, Toolbox, Master Craft
Stephen D. Ritchie@RuthlessHelp
Feb 19, 2013
DC .NET Users Group (@DCDNUG)February 2013 Meeting
Stephen D. Ritchie
Live Tweet, Slides and Examples
• Twitter: @RuthlessHelp
• Slides: http://www.slideshare.net/ruthlesshelp
• Code Samples: http://github.com/ruthlesshelp
2
Stephen D. Ritchie
The Problem
SourceCode
1 23
3
Scott’sComputer
Susan’sComputerYou
1
2
3
Scott makes changes
Susan makes changes
You can’t build
Stephen D. Ritchie
What Went Wrong?
4
Conflicts
Missing Files
Breaking Changes
Stephen D. Ritchie 5
How do youfind
integrationissues?
Stephen D. Ritchie
Manual Integration
6
BuildRun Some Unit TestsPerform Static AnalysisClean + Rebuild All
Stephen D. Ritchie
Continuous Integration Blueprint
7
Stephen D. Ritchie
CI Server
SourceCode
8
Scott’sComputer
Susan’sComputerYou
CIServer
Stephen D. Ritchie
CI Server
9
Triggered by SCM
Automated Buildand
Stephen D. Ritchie
CI – Per Commit Steps
10
1. Clean + Rebuild All2. Run All Unit Tests
Coding Standards
3. AnalysisStatic Code Analysis
Stephen D. Ritchie
Continuous Integration Toolbox
11
Stephen D. Ritchie
CI Server – Jenkins
12
http://jenkins-ci.org/
FreeOpen Source
Stephen D. Ritchie
CI Server – Cruise Control
13
http://cruisecontrol.sourceforge.net/
FreeOpen Source
http://www.cruisecontrolnet.org/
Stephen D. Ritchie
CI Server – TeamCity
14
CommercialEasy to Use
http://www.jetbrains.com/teamcity/
Stephen D. Ritchie 15
Perhaps an example would
be helpful
Stephen D. Ritchie
Continuous Integration Master Craft
16
Stephen D. Ritchie
The Master Craft
17
Unit TestingPlus
Code Coverage
Stephen D. Ritchie
The Master Craft
18
Integration Testing
System Testing
Acceptance Testing
Stephen D. Ritchie
The Master Craft
19
Code Quality
Metrics
Visualizations
Detections
Checks
Analysis
Stephen D. Ritchie
The Master Craft
20
ReportingAnd
Visibility
Stephen D. Ritchie
The Master Craft
21
PackagingAnd
Deployment
Stephen D. Ritchie
Stephen’s Contact Info
• Email: [email protected]
• LinkedIn: http://www.linkedin.com/in/sritchie
22