ignite: open source continuous integration

20
Open Source Continuous Integration Patrick Reynolds Kitware, Inc.

Upload: joshua-l-davis

Post on 30-Nov-2014

2.152 views

Category:

Technology


5 download

DESCRIPTION

Open Source Continuous IntegrationPatrick Reynolds,Kitware Inc.

TRANSCRIPT

Page 1: Ignite: Open Source Continuous Integration

Open Source Continuous Integration

Patrick ReynoldsKitware, Inc.

Page 2: Ignite: Open Source Continuous Integration

Inertia

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

Page 3: Ignite: Open Source Continuous Integration

The Value of Software

Page 4: Ignite: Open Source Continuous Integration

“Free” Shocks People

Page 5: Ignite: Open Source Continuous Integration

Credibility

• Determined by reputation and price

• OSS needs something better

Page 6: Ignite: Open Source Continuous Integration

Open the Code

Page 7: Ignite: Open Source Continuous Integration

Open the Testing Process

Page 8: Ignite: Open Source Continuous Integration

Open Everything

Page 9: Ignite: Open Source Continuous Integration

The More Metrics the Better

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

Page 10: Ignite: Open Source Continuous Integration

Lots of Tools

• CMake, CTest, CDash, etc.

• Ant, JUnit, Hudson, etc.

• The list goes on

Page 11: Ignite: Open Source Continuous Integration

CMake, CTest, CDash, etc.

• Integrated stack of tools

• Accomplish our listed goals for continuous integration

Page 12: Ignite: Open Source Continuous Integration

CDash

Page 13: Ignite: Open Source Continuous Integration

Keep Developers Honest

• Easy to see who “broke the build”

• Nightly and Continuous Builds

• Style Builds

Page 14: Ignite: Open Source Continuous Integration

Engage Users

• Experimental Builds

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

• Proof of cross-platform support

Page 15: Ignite: Open Source Continuous Integration

From Theory to Practice

• Bad Workflow• Better Workflow• Best Workflow

Page 16: Ignite: Open Source Continuous Integration

Bad Workflow

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

Page 17: Ignite: Open Source Continuous Integration

Better Workflow

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

Page 18: Ignite: Open Source Continuous Integration

Best Workflow

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

from the dashboards

Page 19: Ignite: Open Source Continuous Integration

Results

• Quality metrics that outclass those of proprietary Software

• Less worry, more fun.

Page 20: Ignite: Open Source Continuous Integration

Thank You

Patrick ReynoldsKitware Inc.http://[email protected]