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 Oct 11, 2014 NoVA CodeCamp (@NoVACodeCamp) October 2014

Continuous Integration - NoVA CodeCamp 2014-10-11

Embed Size (px)

Citation preview

Page 1: Continuous Integration - NoVA CodeCamp 2014-10-11

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

Oct 11, 2014

NoVA CodeCamp (@NoVACodeCamp)October 2014

Page 2: Continuous Integration - NoVA CodeCamp 2014-10-11

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 - NoVA CodeCamp 2014-10-11

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 - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

What Went Wrong?

4

Conflicts

Missing Files

Breaking Changes

Page 5: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie 5

How do youfind

integrationissues?

Page 6: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

Manual Integration

6

BuildRun Some Unit TestsPerform Static AnalysisClean + Rebuild All

Page 7: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

Continuous Integration Blueprint

7

Page 8: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

CI Server

SourceCode

8

Scott’sComputer

Susan’sComputerYou

CIServer

Page 9: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

CI Server

9

Triggered by SCM

Automated Buildand

Page 10: Continuous Integration - NoVA CodeCamp 2014-10-11

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 - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

Continuous Integration Toolbox

11

Page 12: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

CI Server – Jenkins

12

http://jenkins-ci.org/

FreeOpen Source

Page 13: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

CI Server – Cruise Control

13

http://cruisecontrol.sourceforge.net/

FreeOpen Source

http://www.cruisecontrolnet.org/

Page 14: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

CI Server – TeamCity

14

CommercialEasy to Use

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

Page 15: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie 15

Perhaps an example would

be helpful

Page 16: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

Continuous Integration Master Craft

16

Page 17: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

The Master Craft

17

Unit TestingPlus

Code Coverage

Page 18: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

The Master Craft

18

Integration Testing

System Testing

Acceptance Testing

Page 19: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

The Master Craft

19

Code Quality

Metrics

Visualizations

Detections

Checks

Analysis

Page 20: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

The Master Craft

20

ReportingAnd

Visibility

Page 21: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

The Master Craft

21

PackagingAnd

Deployment

Page 22: Continuous Integration - NoVA CodeCamp 2014-10-11

Stephen D. Ritchie

Stephen’s Contact Info

• Email:[email protected]

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

22