JenkinsCI

Jenkins Community Survey

There's currently a survey running to get a better sense of our use base. Those inputs help us steer the effort wisely, so we appreciate your taking time to fill it in. The result would be more useful if larger number of people participate, so feel free to encourage others to fill it in as well.

In the same spirit of the fundraising drive in NPR, CloudBees is throwing in a "thank you gift" of AppleTV as an added incentive. See their blog post for more details.

2011 Donation Drive

Since the end of April, Jenkins has been officially part of the SPI (Software 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 donations!

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 abayer, kohsuke and myself.



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 :)

JRuby Branch merged!

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.

The problem

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.

The Kicker

Many of theses changes aren't even JRuby specific! While they do enable JRuby integration, They're really just making things more friendly for dynamic languages in general. So, in theory, it should pave the way for others like JavaScript and Python.

Where now?

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 jenkinsrb@googlegroups.com mailing list, so join us!


Jenkins User Conference

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

Upcoming Events in June and early July

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!