Jenkins and

By Maarten Kling | On Mar 05, 2013
An Continuous Integration System setup for our own intranet.

Based on a blog post by Asko Soukka 'Getting started with Robot Framework and' and the documentation from buildout.jenkins I started setting up a testing enviroment for our internally used support system based on Plone.

The system includes all our documents (DMS) and relations (CRM) and is the place for our customers to make tickets and for us to do our work. We are upgrading this to Plone 4 and making it completly Dexterty based. Look at the blogpost about migrating the 100k objects.

Setting up Jenkins

Based on the documentation from buildout.jenkins I setup my Jenkins environment and got started running tests on the packages. The cool thing about the documentation is, it includes information about PEP8, code coverage and Robot tests. The output information is shown in graphs by Jenkins.

Jenkins Dashboard

Creating Sunshine

Soon after the first test runs it became clear, more sun feels better :)

The sunshine in Jenkins is based on the citeria set in your project, in this case: PEP8, Coverage, build stability, Robot and intergration test. Having them all at 100, you will have a nice full sun, if not its getting cloudy and in worst case it will rain…

Jenkins Build Status Sunshine


My local PEP8 was outdated and so localy everything was PEP8, but at the Jenkins eviorment it was not.. Jenkins was complaining about lots of line indenting errors, as they changed that in later PEP8 relaces. Fixing them was pretty easy.

Robot tests

My personal knowhow about Robot tests was pretty okay, I have made some already in different projects and creating new ones to test all objects was just a matter of time and clicking thru the interface looking if i missed something. I love the use the Information about selenium testing from the selenium2library.

Code covarage

The last part was the code coverage. This is pretty cool, i knew not everything was fully tested, but having the code covarage made visible in jenkins it just to easy to create more tests and hit all the lines.

Code Coverage Cobertura

The result

The project will definitely profit from having it in Jenkins, quality and code improved even if it was just PEP8 fixes. It made me think about consequences, testing, setup and what should be in packages and what should not.