Adopt a plugin

Today on IRC, I was asked how someone new to the project can get started working on Jenkins, when s/he has no particular preference or pet-peeve.

This is a good question for which the project should have a canned answer ready, so here is one approach — adopt a plugin!

Often, a Jenkins plugin gets developed by someone to scratch his own itch. That person shares the plugin with the community, and since it does everything he needs, he moves on to work on something else. Then another person starts using that plugin, comes up with an idea for improvement, implements that, and then moves on. Given that we have more than 900 plugins today, there are a plenty of plugins that are currently co-maintained by the community, which could really use a focused loving caregiver.

Acceptance test project progress report

Over the past 30 days or so, the acceptance test project has made a great progress.

This project consists of a reusable harness that can be used by plugin developers and users to write functional test cases. These tests can be run against Jenkins instances that are deployed in all sorts of different ways, and can interact with complex real fixtures. These tests can be also run with specific version of Jenkins core and a combination of plugins.

The number of tests have steadily increased to above 300. Several of those are by Michael Prankl, where he tests the LDAP plugin with the real OpenLDAP server instance that runs inside Docker — a kind of test that just wasn't possible before can be now easily written.

Jenkins Office Hour: Tutorial on writing an acceptance test

This week I'm going to do an office hour on how to write an acceptance test in Jenkins acceptance test harness. The event is on Wednesday 11am PT.

This new Selenium-based test harness is full of page objects and other abstractions that let you write blackbox integration tests on Jenkins and its plugins, as well as how they behave under various environments.

Unlike our regular office hours, the event is done through Hangout on air. But I do want at least several people to join Hangout interactively, not just watch the event in a read-only mode.

To join the event interactively (as opposed to read-only), I think you need to come here (but since Hangout URL can change, please check back on this post right before the office hour begins, so that I can post an up-to-date URL.)

Another big thank you to Rackspace

As the Jenkins project grows, the need for our infrastructure has been growing. Our Jenkins-on-Jenkins needs more build slaves, we need more servers to run our infrastructure services.

And it was once again Rackspace who stepped up to the plate; they have kindly donated us more cloud servers. I also use Rackspace for one of my personal servers, and when I went back to their admin console this time, I noticed that they've added a lot more services to their offering.

I am setting up these boxes as I write this. A huge thank you for Rackspace for their support of this project. And if you are interested in using Rackspace cloud servers as elastic build slaves, jclouds plugin is your friend.

JUC agenda posted

Agenda is posted for Jenkins User Conference Boston and Berlin.

For Boston, my favorite would be the workflow in Jenkins talk that will cover the new workflow job type Jesse and I are working on. As of this writing it is still very much a work in progress, but that talk is our way of putting a stake on the ground that we WILL have something we can talk about by then. There's also some talks that describes how they've put together pieces (including Jenkins) to create a broad automation, such as Distributed Scrum Development with Jenkins, Vagrant, Fabric and Selenium and Moving Existing Enterprise Systems to Continuous Integration and Deployment with Jenkins.