What plugins are upgraded when I upgrade an instance from CJP 2.x to a newer 2.x version?

Article ID:229008068
3 minute readKnowledge base

Issue

What plugins are upgraded when I upgrade an instance from CJP 2.x to a newer 2.x version?

Environment

  • CloudBees Jenkins Enterprise 2.x

  • CloudBees Jenkins Operations Center 2.x

Resolution

The plugins included in a CJP 2.x WAR are be classified in required and optional. The expected behavior of each kind of plugin in an upgrade scenario is described below, depending on the state of the Beekeeper Upgrade Assistant.

The list of plugins included in the different releases of CJP 2.x can be found in the CJP documentation:

These lists contain the plugin ids, their versions and whether they are required or optional.

Given the behaviors described below, it is recommended that the Beekeeper Upgrade Assistant is enabled before performing an upgrade, above all if that upgrade involves changing the Jenkins Core LTS line (e.g. from 2.7.x.x to 2.19.x.x).

Beekeeper Upgrade Assistant Enabled

This section described the behavior when the Beekeeper Upgrade Assistant is enabled, i.e., when the option "Enroll this instance in the CloudBees Assurance Program" is checked.

Required Plugins

For each of the required plugins included in the WAR the following actions are performed:

  • If the plugin is not installed, the version in the WAR is installed.

  • If the plugin is installed, but in an older version than the one included in the WAR, the version is upgraded to the version in the WAR (even if the plugin is pinned).

  • If the plugin is installed in the same of newer version than the one included in the WAR no operation is performed.

Optional Plugins

For each of the optional plugins included in the WAR the following actions are performed:

  • If the plugin is not installed, no operation is performed.

  • If the plugin is installed, but in an older version than the one included in the WAR, the plugin is upgraded to the version in the WAR (even if the plugin is pinned).

  • If the plugin is installed in the same of newer version than the one included in the WAR no operation is performed.

In the second case, i.e. when the plugin is upgraded, additional checks are performed in the dependencies. For each of them:

  • If the dependency is not installed, it is installed.

  • If the dependency is installed, but in an older version than the one included in the WAR, the dependency is upgraded to the version in the WAR (even if the plugin is pinned).

  • If the dependency is installed in the same of newer version than the one included in the WAR no operation is performed.

As described above, with the Beekeeper Upgrade Assistant enabled, in a version upgrade scenario the behaviour is as if the "Allow automatic upgrades of plugins on restart" was selected even if it isn’t.

Beekeeper Upgrade Assistant Disabled

This section described the behavior when the Beekeeper Upgrade Assistant is disabled, i.e., when the option "Enroll this instance in the CloudBees Assurance Program" is not checked.

Required Plugins

For each of the required plugins included in the WAR the following actions are performed:

  • If the plugin is not installed, the version in the WAR is installed.

  • If the plugin is installed, but in an older version than the one included in the WAR, the version is upgraded to the version in the WAR (even if the plugin is pinned).

  • If the plugin is installed in the same of newer version than the one included in the WAR no operation is performed.

Optional Plugins

For optionals plugins no operation is performed. Starting with CJP 2.19.4.2, even with Beekeeper disabled, an optional plugin will be upgraded if it is an optional dependency of a required plugin and the upgrade is needed to satisfy that dependency.