imedo Development Blog

there is no charge for awesomeness

Archive for the ‘hudson’ tag

Perl error “No space left on device” on Hudson slaves

without comments

Some of our tests are using a locally installed version of the W3C markup validator in order to check the generated pages. This worked well when running the tests manually, but as soon as we started the tests on one of our Hudson CI slaves some tests failed with the following message.


open3: close(main::SPIN) failed: No space left on device at /usr/lib/cgi-bin/chec

Of course there was plenty of disk space on the slave left. The message was raised by the Perl script of the validator, so it might not only be a W3C validator related issue, but a problem with calling a Perl CGI script from inside a Hudson job.

However, we fixed this problem by upgrading the Java version on our CI slaves from Sun Java 1.5 to 1.6.

Popularity: 1% [?]

Written by ehartung

July 13th, 2009 at 6:40 pm

Posted in Testing

Tagged with , , ,

Hudson dashboard for feedback monitor

without comments

In order to have a better overview over the build status of our projects we changed the dashboard’s stylesheet for our Hudson build monitor. The following image shows an example dashboard using our stylesheet.

build_monitor_example
And here is our CSS code written by tkadauke.


#header,
#viewList,
#side-panel { display: none; }
#projectstatus tr:first-child { display:none }
#projectstatus tr { float:left; width: 15em; height:3em; overflow: hidden }
#projectstatus tr > td { display: block; float:left; width:10em; height:3em }
#projectstatus tr td[data] {display:none}
#projectstatus tr td[data="0"],
#projectstatus tr td[data="4"],
#projectstatus tr td[data="6"],
#projectstatus tr td[data="8"] {display:block; width: 3em}
#projectstatus tr td.healthReport { display:none }
#projectstatus tr td a img { display:none }

You can use the Stylish add-on for Firefox to inject it into the Hudson dashbord.

Popularity: 1% [?]

Written by ehartung

June 23rd, 2009 at 7:52 am

Managing Hudson configurations

without comments

If you have a continuous integration setup which deals with as many projects as our’s does, backups of the configuration files are absolutely mandatory. Even better than making backups is the usage of a version control system like git or Subversion. It enables you to change the configuration files on your local machine and merge these changes with those someone else did using the web interface.

The possibility of changing the CI configuration files locally is especially handy if you have to deal with more than 100 projects on the CI system like we do. Then the search-and-replace tool of a text editor can save you hours.

We are using Hudson which stores its configurations in XML files which we manage in a git repository. Our Hudson master uses a checkout of this repository. For merging the changes done over the web interface into the repository we created a simple Hudson task. This way we have different ways of changing the CI configuration and we have a backup in case our CI system crashes or we need to set up a new one.

Popularity: 1% [?]

Written by ehartung

May 15th, 2009 at 11:20 am

Build monitor for Hudson CI system

without comments

For receiving feedback on the current build status of software projects, a quite useful tool is the Firefox add-on Hudson Build Monitor. It shows the current status of one or more projects on the continuous integration system in the Firefox status bar and is a good addition to email notifications and extreme feedback devices.

In order to react fast developers need feedback on their code changes as soon as possible. At best this would be directly after the piece of code is integrated into the software project. Of course this implies that the developer has tested the code on his machine before.

Continuous integration systems like Hudson are capable of sending emails to the one developer who broke the build as well as to everyone else who needs to be updated on the current status of the build. This is usually enough for smaller software projects, but we are managing more than 100 projects with Hudson. So configuring the email addresses for every single project is too much overhead. Especially since we have cross-functional project teams which only exist for a period of time.

Extreme feedback devices like bear lamps or ambient orbs can solve the feedback problem for one team. But these devices are usually out of sight for product management, quality assurance, and other development teams.

Our feedback device is one screen which shows the status of all projects. Therefore the Hudson Build Monitor replaces the extreme feedback device in our project teams as well as it gives others the possibility to keep track on single projects without watching the screen or the Hudson dash board.

Popularity: 1% [?]

Written by ehartung

May 13th, 2009 at 9:52 am