Ignite: Open Source Continuous Integration

Post on 30-Nov-2014

2.149 views 5 download

description

Open Source Continuous IntegrationPatrick Reynolds,Kitware Inc.

Transcript of Ignite: Open Source Continuous Integration

Open Source Continuous Integration

Patrick ReynoldsKitware, Inc.

Inertia

• Open Source Software needs to be far better than the alternatives

The Value of Software

“Free” Shocks People

Credibility

• Determined by reputation and price

• OSS needs something better

Open the Code

Open the Testing Process

Open Everything

The More Metrics the Better

• Coding Style• Coverage• Dynamic Analysis• Static Analysis• Packaging

Lots of Tools

• CMake, CTest, CDash, etc.

• Ant, JUnit, Hudson, etc.

• The list goes on

CMake, CTest, CDash, etc.

• Integrated stack of tools

• Accomplish our listed goals for continuous integration

CDash

Keep Developers Honest

• Easy to see who “broke the build”

• Nightly and Continuous Builds

• Style Builds

Engage Users

• Experimental Builds

• Users see the whole process instead of just the code.

• Proof of cross-platform support

From Theory to Practice

• Bad Workflow• Better Workflow• Best Workflow

Bad Workflow

• Commit Code• Cross fingers• Get angry emails from users

Better Workflow

• Write Tests• Write Code• Test Code• Commit Code• Get angry emails from OSX and Windows users

Best Workflow

• Write Tests• Write Code• Test Code• Commit Code• Fix the OSX and Windows bugs emailed to you

from the dashboards

Results

• Quality metrics that outclass those of proprietary Software

• Less worry, more fun.

Thank You

Patrick ReynoldsKitware Inc.http://www.kitware.compatrick.reynolds@kitware.com