Tuesday, March 25, 2008

Matrix-based security in Hudson doesn't work in IE

As I mentioned in my earlier posts, I have been using Hudson CI engine from the past 3 weeks. Pretty easy and cool as well. No complaints so far.

I started working on getting the standard security setup and am having problems doing the same. I am using the 1.195 version. In this version, once I select the Matrix-based security, I am unable to add users or group.

I did find a workaround wherein I can go and change the config.xml file and manually grant permissions to users. But, if I go back and make any other configuration changes and save, my security changes are lost.

Are you having these problems? How did you manage to secure Hudson? Any ideas?

P.S: After I posted this and searched a lot on the net and didn't find any reference, I was a bit surprised. Downloaded Hudson on my laptop, and was able to use the Matrix-based security. Once it worked on my laptop, I knew who the culprit was. It was IE, my laptop by default uses Firefox as the browser. Once I downloaded and installed Firefox as well on the desktop, I was able to add users and roles.

Monday, March 24, 2008

Joined Stelligent

Two weeks back, I joined Stelligent Incorporated as Senior Software Consultant. Having had many years of experience, it was time for a new challenge. I am really excited to work with Industry experts like Andrew Glover, Paul Julius, Paul Duvall and also learn a lot from them. :)

Saturday, March 22, 2008

Hudson's so Groovy

Having used Cruise Control for almost 4 years, when I started looking at Hudson last week, I was impressed seeing how easy it was to configure and get it up and running in just a few minutes. It also has several plugins available, and if you don't find one you can quickly write one as well.

Andrew Glover, in the TestEarly Blog, shows us how to use Groovy with Hudson. Hudson has a Groovy plug-in which can execute Groovy Scripts.


To quote from the blog "as a part of a CI project setup, another dependent
project’s directories were becoming read-only due to an SCM feature.
Consequently, a child project couldn’t write to the filesystem.

This problem was easily solved using Groovy (plus a little Ant)– a triggered build executes a small Groovy script that uses Ant’s chmod
task to make target directories read-write enabled. As you can see, the
fix requires 2 lines of code (which could, arguably, be reduced to one)"

def ant = new AntBuilder()
ant.chmod(dir:"./ci09_i/ui/rep2/reports/", perm:"ugo+rw",
includes:"**/*.*")

You can read the complete story at TestEarly.com

Isn't that cool? However, I am not sure if there is a way to specify Hudson to run the Groovy Script first before executing any build script or vice versa, any ideas?

Here are some useful links for additional reading:

1. TestEarly.com

2. thediscoblog.com