Submitted by rtyler on Mon, 2011-09-19 07:00
Since the end of April, Jenkins has been officially part of the
in the Public Interest), an umbrella organization which offers a useful level
of legal status for the project.
Up until recently we had not taken proper advantage of this new legal
umbrella, thankfully that's changed as we're now capable of accepting
For the project this is a big step forward as it will allow us to offset the
cost of servers for the project, bandwidth, SSL certificates and other costs
incurred as part of running such a large open source project.
Trivia: The machine that this page is being served from originally started
out as "hudson labs", purchased and colocated by
Since we're now able to accept donations, we're kicking off a donation drive to
help recover some of the costs incurred this summer (which I've discussed
previously). Our immediate goal is to raise $5130
to recoup bandwidth costs, if you can spare some change, head on over to the
SPI online donation
page and help
us out :)
Yesterday, Kohsuke announced that the 'jruby' branch of jenkins-core had been merged to master.
This doesn't mean that we're done and that you can go forth and write pure ruby plugins... not by any stretch of the imagination. Instead, what it does mean, is that the Jenkins mainline is much more friendly to runtime analysis of classes with which it is not familiar.
When analyzing plugin classes, Jenkins uses just about every kind of metadata you can think of to get information about them: Class name, Field names, method names, member modifiers, annotations, you name it. It even uses the containing class relationship for inner classes to match Descriptors with what they describe.
It's all a great example of convention over configuration (CoC). In fact, I've never really seen CoC implemented in a Java project before as successfully as it has been in Jenkins. Plugin authors don't have to duplicate any metadata that Jenkins can figure out for you -- and it's alot! The drawback though, is that extensions depend very heavily on conforming to the structure of a conventional Java class.
The changes in this merge, and in several of the modules on which Jenkins depends, allow more than ever to get this information by asking an object directly rather than querying its private class structure.
We're still working on the ruby runtime and tools which will provide as crisp a Ruby development experience as we can. I don't want to proffer an estimate of when those will begin to be useable, but it is important to mark this very important milestone and explain what it does and does not mean.
We need you!
There is still much work to be done to enable a writing Jenkins plugins in Ruby, we are looking for people who know Ruby and feel like pitching in: writing Rake tasks, improving the glue layer, documentation, etc.
If you're interested, most of the action is happening on the email@example.com mailing list, so join us!
We've done meetups, we've done sessions, we've done workshops, now it's about time we went ahead and did user conference don't you think?
Our pals over at CloudBees (Harpeet specifically) have taken the initiative in starting to organize just that: a Jenkins User Conference on October 2nd.
If you have your calendar at the ready, you'll notice that October 2nd is the Sunday before JavaOne kicks off this year in San Francisco.
The details are still coming together, but a proposed agenda has already been posted by Harpeet.
As this is a community event, I'll be sure to keep the updates coming on this site but you may want to add the CloudBees' Blog to your feed reader just in case (or just follow them on Twitter: @CloudBees).
I've just added three events coming up in the next few weeks to the Jenkins calendar. Conveniently, they are all events I'll be attending while traveling around Western Europe!
The Cologne JUG is having a meetup on Saturday, June 25th, starting at 2pm. We'll be talking about Jenkins, maybe doing some coding, and then heading out for drinks and more talk! You can find more information and sign up at Xing.
A few days later, TNG Technology Consulting is generously hosting a meetup in Munich, on Wednesday, June 30th, starting at 3pm. I'll be giving a quick talk on the state of the Jenkins project, followed by Ullrich Haffner (the author of the static analysis plugins for Jenkins) giving a quick talk on how those plugins are used. After that, we'll be having a hackathon, and then more beer! Again, you can find more information and sign up at Xing.
A week later, the London CI meetup group is hosting a meetup as well, on Wednesday, July 6th, starting at 6:30pm. We'll be meeting up at the Royal Festival Hall for discussion and drinking. You can find more information and sign up at Meetup.
Do you have a Jenkins event you'd like to have added to our calendar? Let us know!