Earlier this month, a full-day event about Jenkins Pipeline was organized in Toulouse, France with the Toulouse JAM.

After a warm-up on the previous Tuesday where Michaël Pailloncy had given a talk at the local Toulouse Devops user group about Jenkins Pipeline ecosystem, we were ready for more digging :-).

workshop overview 1 workshop overview 2 workshop overview 3

The agenda

We had planned the day in two parts:

  • Morning would be a more driven workshop with slides & exercises to be completed

  • Pizzas & beverages to split the day :-)

  • Afternoon would be somehow like an Unconference, where people basically decide by themselves what they want to work on.

We planned to have 30 attendees. We ended up having 25. We considered having more people, but finally decided that for a first time it would be better to start not too big.

Infrastructure

Infrastructure was sponsored by DigitalOcean.

For each attendee, we provisioned:

  • One Controller, preconfigured to be able to dynamically provision agents.

  • One staging environment

  • One production environment [1]

  • One SonarQube instance

Workshop content & infrastructure

It is composed of 3 parts, which are readable here [2], but very few people were able to start the part 3.

Hackergarten / Unconference

So we let people decide what they wanted to work on during the afternoon.

subdividing per interest We decided to use post-its: each attendee would write down what they wanted to work on, one idea per post-it (max 2 per person). Then, we dropped those onto a white-board and tried grouping those by theme.

In the end, overall, the following themes went out:

  • Hack on Jenkins development & Contribute to Jenkins

  • Complete the workshops

  • Work on use-case oriented things

  • Work on Docker & Pipeline join usages

Hackergarten

hackergarten

Many Jenkins accounts were created, and many JIRA and pull requests were filed. It was nice to see people asking questions like: "so, should I create a JIRA issue for this?" or "how do I interact with people". Pretty generic "how do I work on open source software" questions sometimes, but important because you felt like people were genuinely interested and needed not much to start contributing.

Here are the pull requests filed during this afternoon:

You can see that though most of the PRs were typo-related, the one that got merged first was the one about code :-).

bobblehead So, Jeremie Violas wins the Bobble Head as promised!

Simply because people were somehow encouraged to find some to get used to the round trip of: fixing an issue and filing the associated pull request, rinse & repeat.

I do think this is also a pretty nice and simple first step to understand how to build Jenkins and start interacting with the community.

The result

People seemed pretty happy and we got some nice comments like "now I have a clearer vision of what this Pipeline thing is about". Some attendees also dropped nice comments on the meetup page. So it’s cool because when you’re doing such things on your free time, it’s the main reward you can get.

If you’re an attendee to such events, don’t forget to thank people organizing those, and more importantly to provide constructive feedback. We are generally eager to know what could be done better for next time.

Conclusion

Overall we are very happy with the energy of that day, and we definitely plan to set up a new session in the next few months, probably with a bit more people.

Some thoughts:

  • Infrastructure: when you plan to have many VM per attendee, double-check the limits your Cloud Provider may have by default. I had bumped it to 250 the day before the workshop, and asked for another one to 500 during the workshop (though in the end, 250 was probably enough, but this’ll give room for the next time with more people :-)).

  • Logistics: warning, secret ahead: this is very time consuming. Not necessarily the amount of work itself, more that it implies very big latency. For instance, give it 2 to 3 weeks minimum to have answers about sponsoring in general. Pinging again in case of no answer after 2 days would probably be seen as rude, and possibly lead to make things worse for obvious reasons, so plan ahead.

Thank you

  • DigitalOcean for sponsoring the Infrastructure

    • We got way more than 100 VMs running at the same time during the day thanks to their help!

  • HarryCow Coworking for hosting the event

  • To CloudBees for sponsoring the food for all the participants

    • Also for providing a bunch of goodies: stickers and T-Shirts for everybody

  • GitHub for providing stickers


1. For the sake of the simplicity of the workshop, those environments were actually a single VM: the goal was here to illustrate what we could do using Jenkins Pipeline, discussing scalability or more involved deployment techniques was obviously out of scope.
2. in French only for now, but translating it into English to make it possibly shared and reusable among JAMs is being discussed
About the Author
Baptiste Mathus

Baptiste has been using and contributing to Jenkins since it was called differently, and is a huge proponent of the Agile, Devops & Continuous Delivery movements. He loves to discuss not only the technical aspects, but also the even more essential cultural aspects of this all, working together to improve the value provided to customers in a great inclusive and blameless environment.