Ignite: Open Source Continuous Integration
-
Upload
joshua-l-davis -
Category
Technology
-
view
2.149 -
download
5
description
Transcript of Ignite: Open Source Continuous Integration
![Page 1: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/1.jpg)
Open Source Continuous Integration
Patrick ReynoldsKitware, Inc.
![Page 2: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/2.jpg)
Inertia
• Open Source Software needs to be far better than the alternatives
![Page 3: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/3.jpg)
The Value of Software
![Page 4: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/4.jpg)
“Free” Shocks People
![Page 5: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/5.jpg)
Credibility
• Determined by reputation and price
• OSS needs something better
![Page 6: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/6.jpg)
Open the Code
![Page 7: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/7.jpg)
Open the Testing Process
![Page 8: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/8.jpg)
Open Everything
![Page 9: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/9.jpg)
The More Metrics the Better
• Coding Style• Coverage• Dynamic Analysis• Static Analysis• Packaging
![Page 10: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/10.jpg)
Lots of Tools
• CMake, CTest, CDash, etc.
• Ant, JUnit, Hudson, etc.
• The list goes on
![Page 11: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/11.jpg)
CMake, CTest, CDash, etc.
• Integrated stack of tools
• Accomplish our listed goals for continuous integration
![Page 12: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/12.jpg)
CDash
![Page 13: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/13.jpg)
Keep Developers Honest
• Easy to see who “broke the build”
• Nightly and Continuous Builds
• Style Builds
![Page 14: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/15.jpg)
From Theory to Practice
• Bad Workflow• Better Workflow• Best Workflow
![Page 16: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/16.jpg)
Bad Workflow
• Commit Code• Cross fingers• Get angry emails from users
![Page 17: Ignite: Open Source Continuous Integration](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052321/547cecdd5806b5d13f8b47f2/html5/thumbnails/19.jpg)
Results
• Quality metrics that outclass those of proprietary Software
• Less worry, more fun.