Support-Core version - Matrix?

I have an older version of Jenkins that I’d like to explore upgrading. I just found out about the support core plugin, but when I look to install it I get the red warnings about breaking Jenkins if I proceed. I found another post of someone looking for a matrix, but his was answered with the specific version needed.
Does anyone know of a matrix? I am currently on 2.190.3 - to get to the most recent it will be a series of upgrades, so knowing the required version for the version(s) as I proceed through them will most likely be helpful.

Thanks,
John

I think support-core plugin is not really helpful for doing a Jenkins upgrade from a more than 6 year old version.

The problem you have is that the update site of Jenkins only provides information which plugin versions are compatible to which Jenkins version only about 1 year back.
You could try Back of the Napkin Guide to Updating Jenkins, for the uninitiated but due to the before mentioned plugin problem that might be hard. Also this way is taking a lot of time.

What you can try is the oneshot upgrade (I tried that out once) by setting up a new instance
Here’s roughly what I would do

  • create a copy of the old JENKINS_HOME directory, this copy will be your new JENKINS_HOME
  • in the copy delete the jobs folder and delete everything in the plugins folder, I suggest to also delete the nodes folder to avoid that the new instance starts agents that use the same workspace as the old one
  • take a list of all your installed plugins and save it in a file
  • take the opportunity to remove deprecated plugins or plugins you no longer use
  • use GitHub - jenkinsci/plugin-installation-manager-tool: Plugin Manager CLI tool for Jenkins to download all the plugins jpi files and put them in the plugins folder of the new instance
  • copy any files you need for running with https like keystores and the like. I think there was a change in the way how to specify the keystore for the certificates and the private key between 2.190 and latest LTS (check Initial Settings)
  • install Java 21 so you’re ready for the future

Start the instance with java <java_opts> -jar jenkins.war <jenkins_opts> (using the java 21, adjust ports so the new instance doesn’t interfere with the old when running on the same machine) hopefully it will already come up without issues, all credentials still there and all plugins uptodate. You can now start adding some agents (if you don’t use a cloud) and setup some jobs. Jobs should do what you do with your old instance to get a realistic feeling if everything works as expected.

Once you feel good with the new instance you could copy the jobs folder from the old to the new instance (maybe also the nodes folder) while the new instance is down and thens tart using it.
Or stop the old instance, delete the plugins folder, copy all the .jpi plugin files from the new instance and then start it with the new Jenkins version. If you go this way make sure to take a backup before changing anything so you can easily revert.

For the future, update your Jenkins instance regularly to be always on the current LTS. This much easier than doing large version jumps

1 Like

Thank you very much!

1 Like