Status: Resolved (View Workflow)
Jenkins 2.54, running via the jenkins:2.54-alpine docker image. CentOS7 slaves with no pre-installed JDK.
When Jenkins starts remote slaves via SSH, it does not detect an installed java version and proceeds to download and install JDK7, which it no longer works with. This prevents the slaves from starting and Jenkins from working.
I have configured a Java 1.8 JDK in the global tool config, but that seems to have made no difference.
After removing both jdk.sh and jdk from $JENKINS_HOME on the slaves, the slave still installs JDK7.
I have rolled back to v2.53, which still works fine.
For reference, one of the slaves has JDK1.8.0 installed via the OS and that slave connects and runs ok.
Edit: I changed the component to ssh-slaves-plugin, as that seems to be the culprit.
JENKINS-43492 Jenkins 2.54 causes java.lang.UnsupportedClassVersionError
- links to
So there are several pending fixes like https://github.com/jenkinsci/ssh-slaves-plugin/pull/43, which could help. We just need a hero, who would integrate the stuff
Not assigning myself right now, to leave room for possible people to tackle this quicker, but I plan to look into it soonish. Also, I'm going to lower the priority as as Daniel explains there's an easy workaround.
Code changed in jenkins
User: Jesse Glick
Merge pull request #43 from monkz/bump-jdkversion
JENKINS-43481 Bump JDKVERSION to jdk8-u121
Right, Jenkins (well, SSH Slaves) only downloads a Java for the agent if there's no compatible Java detected. So workaround is to install a JRE 8.