Continuous Integration: Blueprint, Toolbox, Master Craft

Post on 12-May-2015

511 views 0 download

Tags:

description

Continuous Integration: Blueprint, Toolbox, Master Craft was presented at the 2012 DC Agile Engineering Conference on 12/7/2012 by Excella Xpert Stephen Ritichie (@ruthlesshelp).

Transcript of 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

#DCAEC12

Continuous Integration:Blueprint, Toolbox, Master Craft

Stephen D. Ritchie@RuthlessHelp

Dec 7, 2012

Stephen D. Ritchie #DCAEC12

Live Tweet, Slides and Examples

• Twitter: @RuthlessHelp#DCAEC12

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

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

2

Stephen D. Ritchie #DCAEC12

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 #DCAEC12

What Went Wrong?

4

Conflicts

Missing Files

Breaking Changes

Stephen D. Ritchie #DCAEC12 5

How do youfind

integrationissues?

Stephen D. Ritchie #DCAEC12

Manual Integration

6

BuildRun Some Unit TestsPerform Static AnalysisClean + Rebuild All

Stephen D. Ritchie #DCAEC12

Continuous Integration Blueprint

7

Stephen D. Ritchie #DCAEC12

CI Server

SourceCode

8

Scott’sComputer

Susan’sComputerYou

CIServer

Stephen D. Ritchie #DCAEC12

CI Server

9

Triggered by SCM

Automated Buildand

Stephen D. Ritchie #DCAEC12

CI – Per Commit Steps

10

1. Clean + Rebuild All2. Run All Unit Tests

Coding Standards

3. AnalysisStatic Code Analysis

Stephen D. Ritchie #DCAEC12

Continuous Integration Toolbox

11

Stephen D. Ritchie #DCAEC12

CI Server – Jenkins

12

http://jenkins-ci.org/

FreeOpen Source

Stephen D. Ritchie #DCAEC12

CI Server – Cruise Control

13

http://cruisecontrol.sourceforge.net/

FreeOpen Source

http://www.cruisecontrolnet.org/

Stephen D. Ritchie #DCAEC12

CI Server – TeamCity

14

CommercialEasy to Use

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

Stephen D. Ritchie #DCAEC12 15

Perhaps an example would

be helpful

Stephen D. Ritchie #DCAEC12

Continuous Integration Master Craft

16

Stephen D. Ritchie #DCAEC12

The Master Craft

17

Unit TestingPlus

Code Coverage

Stephen D. Ritchie #DCAEC12

The Master Craft

18

Integration Testing

System Testing

Acceptance Testing

Stephen D. Ritchie #DCAEC12

The Master Craft

19

Code Quality

Metrics

Visualizations

Detections

Checks

Analysis

Stephen D. Ritchie #DCAEC12

The Master Craft

20

ReportingAnd

Visibility

Stephen D. Ritchie #DCAEC12

The Master Craft

21

PackagingAnd

Deployment

Stephen D. Ritchie #DCAEC12

Stephen’s Contact Info

• Email: stephen.ritchie@excella.com

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

22