Core

Ruby Plugins Hack Session Notes 6/23/2011

You know that the night is going to be productive whenever @kohsukekawa shows up, and last night was no exception. We talked about problems on the horizon, potential solutions, and then I spent the last half hour ripping a bit of code.

The truth of the matter is that most of the changes that have to be done to Jenkins core have already been made, so now the bulk of the heavy lifting falls to the Ruby side of things (right now, me).

Anyhow, on to the notes!

Attendees

@kohsukekawa, @cowboyd

extract more stuff into the jenkins-plugins.rb support library (@cowboyd)

We're in the process of extracting, normalizing, documenting all the goop that's currently residing in the ruby plugins playground into a formal plugin support gem called jenkins-plugins https://github.com/cowboyd/jenkins-plugins.rb

recruit Rubyists to implement non-Jenkins specific code (@kohsukekawa)

If you know Ruby and would like to be able to write Jenkins plugins with it, but don't know the first thing about Jenkins and/or JRuby, that's OK.

Jenkins Long-Term Support Release

We have released 1.409.1, our first long-term support (LTS) release, from the Jenkins project.

The idea of the LTS release is to provide a second release line the favors more stability and bug fix only maintenance. This release line branches off from a bit old Jenkins release (in this case 1.409), and we will only put important backported bug fixes. We'll keep releasing 1.409.2, 1.409.3, and so on, as such bugs appear, and in several months (our current thinking is 3 months) we'll designate another release and repeat this process all over again. I think it provides more comfortable upgrade path for larger deployments. For more about this, see Wiki.

In large companies that use Jenkins in a large scale, there often is a team of people who looks at incoming Jenkins release, tests it with their environments and their plugins, and then let their internal group consume them. With this release line, I'm calling for them to join the effort on this branch. Vojtech Juranek from Red Hat is already helping us tremendously, so is Yahoo in choosing the base release line and backporting. But it'd be great to get more people on board, as I think it'll benefit everyone to have a larger number of eyeballs on the same code.

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!

Ruby Plugins Hack Session 5/27/2011

After a one week hiatus, we returned to the weekly hack session on a mission light up the sky with fire!

Attendees

Charles Lowell, Rasheed Abdul-Aziz, Hiroshi Nakamura

Discussion/Accomplished

  • How to manage the different ScriptingContainers inside the Jenkins
  • renamed the experimental repo where we've been doing all of our development from fog.hpi to the more aptly name [https://github.com/cowboyd/jenkins-ruby-plugins-playground]
  • started a separate gem for housing the support libraries for jenkins here [https://github.com/cowboyd/jenkins-plugins.rb]
  • started with more formal definition of the plugin API there.

Ruby Plugins Hack Session 5/12/2011

[Editor's Note: For the past few weeks Jenkins community member Charles Lowell has been working with Kohsuke on adding support for building plugins in Ruby. As part of this effort, Charles has been hosting weekly hack sessions via WebEx]

As always, last night's Ruby Plugins hack session was a pleasure. Below is a quick notation of what items were discussed and/or accomplished followed by next steps to be taken my those in attendance.

Discussion/Accomplished

  • Ruby Plugin project structure and how to bundle into an .hpi file.
  • Review of the new XSTREAM serialization method
  • API for marking fields as transient
  • What mods, if any, are required to get .hpl to work with Ruby plugin

Next Steps

Charles

  • to research what can be shared between JRuby ScriptingContainers
  • API for unmarshaling hooks on serialized ruby objects
  • Change the name of the repo :)
  • Document... something!

Kohsuke

  • test more view functions
  • add debug mode outside of hpi:run