This week we have a
Jenkins & Java 10 Online Hackathon.
This is an open online event, where we work together on Jenkins core and plugins in order
to find and fix compatibility issues, share experiences and have some fun.
Everybody is welcome to join, independently of their Jenkins experience and amount of time they have available.
After the kick off on Monday
Jenkins contributors have been working on Java 10 and Java 11 support in Jenkins.
We have already received contributions from 12 hackathon participants, and the number keeps growing.
There are still 3 days ahead, but we have already achieved some important results we want to share.
Jenkins Pipeline
One of our major efforts over last 2 days was to get Jenkins Pipeline working on
Java 10+.
When the hackathon started Jenkins Pipeline was not working at all,
and it was a major blocker for Java support and for exploratory testing in particular.
We’ve been working together with Sam van Oort and Devin Nusbaum to fix the libraries in
the Jenkins core, Pipeline: Support plugin and Docker packaging.
Just to summarize the result of two days in one screenshot…
Yes, we have got it running!
Over two days we have got from the "Pipeline Crashes Immediately"
state to the situation when the most of key Pipeline features are operational,
including Scripted and Declarative Pipeline, Blue Ocean, shared libraries and
dozens of plugins being used in the Jenkins plugin build flow.
There is still a lot of work to do to get the changes finalized,
but Jenkins Pipeline is available for testing on Java 10 and 11 now.
If you want to try it out, you can use a new jenkins/jenkins-experimental:blueocean-jdk10
image we have created.
It bundles all the required patches, so you can just run the following command to get started:
docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins-experimental:blueocean-jdk10
If you want to try more complex scenarions, see the
Running Jenkins with Java 10 and 11 blogpost
and List of Required patches.
What else?
Although Pipeline is the most visible change,
there are other ongoing activities:
Devin Nusbaum explored plugin startup issues we had with JDK 11ea+17
and confirmed that we need to upgrade our images to JDK 11ea+18
Gianpaolo Macario is working on adopting the Java 10 experimental images in his
easy-jenkins project
Sam van Oort and Devin Nusbaum are working on getting plugin build and test flows
when using JDK 10 with Maven
Nicolas de Loof is working on cleaning up Illegal reflective access warnings in Jenkins components,
using the new Fields micro-library
Olivier Lamy and Nicolas de Loof are updating the
Animal Sniffer plugin for Maven
to make it compatible with Java 9 and above
Kohsuke Kawaguchi has released a repackaged version of ASM 6.2 we use in the project
Last but not least, Liam Newman and Tracy Miranda helped us a lot to run the meetings
and to get this hackathon organized
There are also other contributors working on exploratory testing and reporting
defects they discover.
See our status doc
for the full list.
What’s next?
Tomorrow we will have 2 sessions:
At 8AM UTC we will have a sync-up.
According to the requests from hackathon paticipants, we will have an intro session to Jenkins development for newcomers
YouTube link
At 4PM UTC we will have a meeting with key JDK Project Jigsaw committers
Mark Reinhold, Mandy Chung and Paul Sandoz will join us to talk about
Java 10/11 adoption
YouTube link
We will also post participant links in our Gitter channel
15 minutes before the meetings.
If you have any questions, please join the meetings or raise questions in the chat during the call.
Can I still join the hackathon?
Yes, you can!
It is possible to hop in and hop off at any time.
Just respond to the registration form,
join our Gitter channel and start hacking/testing.
We also have a number of
newbie-friendly issues
you can start from.
See our Kick-off session and
slides for quick start guidelines.
Links
Developer mailing list
Hackathon sync-up document
Running Jenkins with Java 10 and 11
Jenkins Online Meetup page