Who let the robot out?
Building high quality software
with Continuous Integration
Timo Stollenwerk
Wishful Thinking
In Time
In Budget
Bug Free
Readable Code
Maintainable Code
Documented
Fast
Working
Real Life
Broken build
It works on my machine
Not deployable
Bad performance
Unmaintainable code
Over time
Over budget
Assumption is the mother of all screw-ups
Software Quality?!
Basic Ideas
Do not break things
If things are broken, don't make it more complicated
If you broke the build, fix it as soon as possible
Getting Started
Post-commit hook
Failure / Fix
Tests
collective.xmltestreport / Jenkins Cobertura Plugin
Acceptance Tests
Robot
Framework
Jenkins Robot Plugin / Saucelabs
Code Analysis
buildout.jenkins / plone.recipe.codeanalysis / Jenkins Violations Plugin
Performance Tests
Jenkins jMeter Plugin
Documentation
Sphinx / Robot / Build Step
Notifications
Jenkins Ext-Email Plugin / Jenkins Dashboard Plugin
Continuous Deyploment
Jenkins Build Pipeline Plugin
What do we get?
In Time
In Budget
Bug Free
Readable Code
Maintainable Code
Documented
Fast
Working
Who let the robot out?
Timo Stollenwerk
IRC: tisto
tisto@plone.org
Building high quality software
with Continuous Integration
●
Robot: http://www.flickr.com/photos/jerry_reynolds/2538180907
●
Dark Sky: http://www.flickr.com/photos/psychoscheiko/5812349452
●
Lego: http://www.flickr.com/photos/ogimogi/2253657555
●
Broken Glass: http://www.flickr.com/photos/akeg/2230862848
Image Credits

Who let the robot out? - Building high quality software with Continuous Integration