Continuous Integration DCAEC12

Post on 04-Jul-2015

335 views 0 download

description

DC Agile Engineering Conference 2012 -- Continuous Integration presentation.

Transcript of Continuous Integration DCAEC12

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’sComputer

You

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

Build

Run Some Unit Tests

Perform Static Analysis

Clean + Rebuild All

Stephen D. Ritchie #DCAEC12

Continuous Integration Blueprint

7

Stephen D. Ritchie #DCAEC12

CI Server

SourceCode

8

Scott’sComputer

Susan’sComputer

You

CIServer

Stephen D. Ritchie #DCAEC12

CI Server

9

Triggered by SCMand

Stephen D. Ritchie #DCAEC12

CI – Per Commit Steps

10

1. Clean + Rebuild All

2. 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/

Free

Open Source

Stephen D. Ritchie #DCAEC12

CI Server – Cruise Control

13

http://cruisecontrol.sourceforge.net/

Free

Open Source

http://www.cruisecontrolnet.org/

Stephen D. Ritchie #DCAEC12

CI Server – TeamCity

14

Commercial

Easy 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