Upgrading CloudBees Core on traditional platforms
Take a SNAPSHOT of your CloudBees Core platform. For the Operations Center and every Master:
Note: In the case something unexpected happens, the rollback process in based on the Backup of your instance.
Operations Center must be upgraded first, then Client Masters.
Starting with CloudBees Jenkins Platform 2.7 and for all versions of CloudBees Core on traditional platforms, the version of Operations Center must always be more recent or as old as the version of the Client Masters that are connected to the Operations Center (Operations Center >= Client Master version).
The Client Master connected to a Operations Center does not have to be at the same version.
This is ideally a fully test environment with a Operations Center and client masters. This requires a
test license. If this is not feasible, just having a test master with representative jobs is better than nothing.
Ensure that CloudBees Assurance Program is enabled to avoid plugin dependency issues or incorrect versions installed.
It is recommended always to upgrade to the latest version of your CloudBees product, ensuring a wider lifecycle support coverage plus more security patches added (CloudBees Security Advisory), more fixed issues, and more new features included.
It is highly recommended to upgrade Jenkins to the same location where
it is running even if it is in the production environment.
Doing a backup of
$JENKINS_HOME and the
$BUILD_DIR - in case it is
outside the default location - should be enough to revert to the
It is not recommended to keep two different instances working at the same time to avoid downtime while performing the upgrade unless you really know what you are doing - it will be very difficult to replicate the exactly same environment.
JNLP agent will not work correctly as the
$JENKINS_URLlocation will be different.
Credentials might fail in case the secret is not the same on both instances.
The OS might not be configured in the same way. i.e
The Jenkins configuration might not be correctly replicated.
Maven plugin plugin is not recommended as it is often considered evil by the Community. Therefore, it is recommended that you migrate jobs using this plugin to Pipeline Jobs with the Maven integration.
Go to the downloads page. Select your desired distribution type, and review the instructions.
If your CloudBees Core instance is run with the command
java -jar cloudbees-core-cm.war or
java -jar cloudbees-core-oc.war, you can simply replace the
jenkins.war file with the latest version.
yum upgrade cloudbees-core-cm
Operations Center -
yum upgrade cloudbees-core-oc
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 is available
To workaround this problem, you can skip this script by adding the
apt-get update && apt-get install cloudbees-core-cm
Operations Center -
apt-get update && apt-get install cloudbees-core-oc
.war archive has been downloaded, follow the servlet
container’s existing application deployment process.
When using servlet containers, CloudBees Core will set the
JENKINS_HOME to the
$APP_SERVER_USER/.jenkins/ folder. If the
servlet container installation does not include write permissions to
this folder for this user (sometimes done for security), you either need
to grant appropriate permissions or override this setting by adding the
"-DJENKINS_HOME=$MY_JENKINSPATH" argument in your servlet container
startup. Refer to the servlet container’s documentation for how to add
Use environment variable
CATALINA_OPTS to add:
-Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=truewhich is needed for Blue Ocean.
It is recommended to configure it in the script
$CATALINA_BASE/bin/setenv.sh (Linux) or
%CATALINA_BASE%\bin\setenv.bat (Microsoft Windows) that you’ll create to
customize your application server.
If you use a custom container, you will find the
cloudbees-core-oc.war file in
the deploy directory of your container. For example,
/usr/local/jboss/server/default/deploy/cloudbees-core-cm.war would be the
location for a default JBoss installation.