22
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

Continuous Integration: Blueprint, Toolbox, Master Craft

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

Page 1: Continuous Integration: Blueprint, Toolbox, Master Craft

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

Page 2: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

Live Tweet, Slides and Examples

• Twitter: @RuthlessHelp

• Slides: http://www.slideshare.net/ruthlesshelp

• Code Samples: http://github.com/ruthlesshelp

2

Page 3: Continuous Integration: Blueprint, Toolbox, Master Craft

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

Page 4: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

What Went Wrong?

4

Conflicts

Missing Files

Breaking Changes

Page 5: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie 5

How do youfind

integrationissues?

Page 6: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

Manual Integration

6

BuildRun Some Unit TestsPerform Static AnalysisClean + Rebuild All

Page 7: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

Continuous Integration Blueprint

7

Page 8: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

CI Server

SourceCode

8

Scott’sComputer

Susan’sComputerYou

CIServer

Page 9: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

CI Server

9

Triggered by SCM

Automated Buildand

Page 10: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

CI – Per Commit Steps

10

1. Clean + Rebuild All2. Run All Unit Tests

Coding Standards

3. AnalysisStatic Code Analysis

Page 11: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

Continuous Integration Toolbox

11

Page 12: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

CI Server – Jenkins

12

http://jenkins-ci.org/

FreeOpen Source

Page 13: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

CI Server – Cruise Control

13

http://cruisecontrol.sourceforge.net/

FreeOpen Source

http://www.cruisecontrolnet.org/

Page 14: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

CI Server – TeamCity

14

CommercialEasy to Use

http://www.jetbrains.com/teamcity/

Page 15: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie 15

Perhaps an example would

be helpful

Page 16: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

Continuous Integration Master Craft

16

Page 17: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

The Master Craft

17

Unit TestingPlus

Code Coverage

Page 18: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

The Master Craft

18

Integration Testing

System Testing

Acceptance Testing

Page 19: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

The Master Craft

19

Code Quality

Metrics

Visualizations

Detections

Checks

Analysis

Page 20: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

The Master Craft

20

ReportingAnd

Visibility

Page 21: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

The Master Craft

21

PackagingAnd

Deployment

Page 22: Continuous Integration: Blueprint, Toolbox, Master Craft

Stephen D. Ritchie

Stephen’s Contact Info

• Email: [email protected]

• LinkedIn: http://www.linkedin.com/in/sritchie

22