Skip to content. | Skip to navigation

Four Digits | Jansbinnensingel 26, 6811 AL Arnhem, The Netherlands | info@fourdigits.nl
 
Maarten Kling is working as a Senior developer for Four Digits in the Netherlands. Maarten is a Zope developer for ten years and a Plone developer and integrator for seven years. Maarten has implemented over a dozen websites, some examples are; Cool Region, NPO and the Royal Dutch Chess Organisation. His specialisation is implementing a website design in Plone based on a Photoshop document and creating viewlets, portlets and content-types.
 

Jenkins and 4D.support

by Maarten Kling Mar 05, 2013

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

 

The 4D.support 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.

jenkinsreport2.png

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..


jenkinsreport.png

PEP8

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.

codecovarage.png

 

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.

 
Made by Four Digits based on Plone.
Made by Four Digits based on Plone.