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 :-).
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
After an initial quick presentation to settle context and remind some general things about Continuous Delivery and Jenkins, we started the workshop per se.
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.
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
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:
blueocean-pipeline-editor-plugin#30
jenkins#2785
jenkins#2786
jenkins#2787
jenkins#2788
You can see that though most of the PRs were typo-related, the one that got merged first was the one about code :-).
So, Jeremie Violas wins the Bobble Head as promised!
Why so many typo-related PRs?
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