How to upgrade Jenkins

Issue

  • Jenkins requires an upgrade

Environment

  • CloudBees Jenkins Enterprise (CJE)
  • CloudBees Jenkins Operation Center (CJOC)

Resolution

IMPORTANT !!!

References

Useful links before starting:

Before Upgrading your instance

  1. Stop your existing instance.
  2. ALWAYS backup your instance before starting your upgrade. The minimal backup is a copy of your ${JENKINS_HOME} directory.
  3. IMPORTANT !!! Verify that there are not any plugins that are pinned. When the server is stopped, remove all files named *.pinned from ${JENKINS_HOME}/plugins (see Pinned Plugins).

Upgrading your instance

You are now ready to install the latest version.

All CloudBees Jenkins Enterprise files can be found at this link: CJE installation files

How to Install:

War file installations

If your CloudBees Jenkins Enterprise instance is run with the command java -jar jenkins.war, you can simply replace the jenkins.war file with the latest version.  This can be done manually, or through Jenkins from the Manage Jenkins page.  At the top, you will see a link stating the latest version.  Simply click it and Jenkins will begin the upgrade process.

Custom container installations

If you use a custom container, you will find the jenkins.war file in the deploy directory of your container.  For example, /usr/local/jboss/server/default/deploy/jenkins.war would be the location for a default JBoss installation.

Debian and other Linux distro installations

Certain systems, such as Debian, will not allow upgrades via the Manage Jenkins page.  You can run the update from your package manager in these cases.  For example, in Debian you can run aptitude update then aptitude install jenkins.

IMPORTANT: RPM/YUM with High Availability

The RPM package contains a post-install script to ensure ownership on several files including JENKINS_HOME. Therefore if High Availability is setup, this could lead to I/O Errors - for example when upgrading one node while another one is still running. More information are available in JENKINS-23273.

To workaround this problem, you can skip this script by adding the property JENKINS_INSTALL_SKIP_CHOWN="true" under /etc/sysconfig/jenkins.

Windows installations

Jenkins can be upgraded in Windows by navigating to Manage Jenkins page and click the installation link at the top of the page.

Windows agents/nodes - Important post-upgrade step

If you are using Windows agents using the “Launch slave agents via Java Web Start” option (e.g. JNLP slaves), the slave.jar on each must be updated. Please see the Updating The Windows Slave procedure

Note - This step isn’t necessary for SSH slaves, using the “Launch slave agents on Unix machines via SSH” option offered by the SSH Slaves Plugin

CloudBees Jenkins Platform 2.X

Note: If your CloudBees Jenkins Enterprise is connected to a CloudBees Jenkins Operations Center (CJOC) instance, the CJOC must first be upgraded to CJP2

CJP 2.X includes a few important changes:
1) The container must be Servlet 3.1 (Java EE 7) compliant: Apache Tomcat 8, Wildfly 8, Glassfish 4, Websphere 9
2) Removal of the AJP connector from the embedded Winstone-Jetty container
Please validate your environment/infrastructure to ensure it complies with these changes, before proceeding with upgrade.

When upgrading from 1.X -> 2.X, please follow the same platform-specific procedure as the previous upgrades (e.g. 1.625.X -> 1.651.X)

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.