That’s proposing an upgrade from a weekly that was released over 3 years ago to the most recent weekly. Since your upgrade pattern seems to be infrequent, you should consider a switch from weekly release line to the long term support release line as part of this upgrade. Current long term support release is 2.319.3.
In order to make the upgrade in smaller steps, you could upgrade to 2.319.3 running Java 8. The Java 8 container image is jenkins/jenkins:2.319.3-jdk8
. Ultimately, you will switch to jenkins/jenkins:2.319.3
for Java 11, but you can make the transition from Java 8 to Java 11 as a step that is separate from the transition from 2.153 to 2.319.3.
Don’t install Java 8 in the container used for the Jenkins controller. Run your jobs on an agent and have Java 8 (or other tools) installed on that agent instead of installing them on the controller.
The Jenkins documentation explains the details why that is the preferred approach.
There are also videos that describe the purposes of Jenkins agents, like
Create a new container that is based on the jenkins/jenkins:2.319.3
container image but includes the plugins you use, managed as code with a plugins.txt
file. You can use that container image to experiment with the upgrade without breaking your existing installation.
If you’re interested to see how others have done it, there are public repositories available that illustrate it. My lts-with-plugins branch is one example. There are others, I’m sure.
There were major Jenkins upgrades across the time that you’re considering. Your most reliable path would be to review the LTS upgrade guides for each of the LTS versions between 2.153 and your destination version. Some of the most common areas of difficulty include the configuration form modernization that was released in 2.277.1 LTS and is described in this blog post
The detailed steps for the configuration form modernization upgrade are also described in