who let the robot out? - building high quality software with continuous integration
DESCRIPTION
Continuous Integration is a software development practice where members of a team integrate their work frequently into a code repository. Each integration is verified by an automated build process that includes different kinds of tests and code quality measurements to detect errors and code quality violations as quickly as possible. This talk will introduce the principles of Continous Integration and show how to set up a Python/Plone project with a CI-Server as a central component of the development process.TRANSCRIPT
Who let the robot out?Building high quality softwarewith 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
RobotFramework
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 StollenwerkIRC: [email protected]
Building high quality softwarewith 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