Update Center best practices for plugin management

Article ID:220145387
2 minute readKnowledge base

There are three general strategies to managing plugins for client controllers (Jenkins Enterprise) instances connected to a CloudBees Jenkins Operations Center (CJOC) instance:

  1. Pinning plugins in the update-center on the Operations Center

    Advantage: This offers greater control over the versions that can be installed by users who have such admin rights on the Jenkins Enterprise controller(s).

    Disadvantage: Plugin versions that are bundled with the client controller are not updated. Due to dependencies between Jenkins core and plugin versions, this could cause instability or even prevent the instance from coming up (in the case of major version upgrades). Careful attention must be exercised during upgrades, to avoid such scenario.

  2. Not providing plugins for Jenkins Enterprise core plugins via the update-center

    Advantage: This avoids the plugin dependency issue address in item 1. Inherently, less plugin updates would represent greater degree of control over the environment

    Disadvantage: Does not provide bug fixes for the plugins. This could become a concern if any of the bug fixes represent blocker issues, or in the case where plugin updates related to a Jenkins Security Advisory are not updated. Generally speaking, this strategy may not be feasible unless you upgrade your environment (Jenkins controllers) on a semi-regular basis - such as quarterly with each major release, and also with each security-related releases.

  3. Provide the latest version of each plugin This allows automatic installation of new core plugins upon update of the Jenkins Enterprise version

    Advantage: This strategy will keep the client controller plugins up-to-date, allowing it to receive updated bug and security fixes upon release.

    Disadvantage: In performing such updates, you will lose the benefits of plugin pinning

    Additionally, it can be somewhat time-consuming to keep the CJOC and Jenkins Enterprise versions for the OC integration (such as CloudBees Analytics synchronized.

Conclusion:

It is best to consider the pros and cons of theses plugin management strategies, then select the one that best fits your environment (particularly in regards to your IT operations and change management policies). There is not one best strategy that is best in all scenarios, or that represents a "one size fits all" approach.

Many of the limitations noted with the 3 strategies are due to the way pinned plugins work, and the Jenkins upgrade process which requires removal of pinned plugins just prior to upgrade. CloudBees Jenkins Platform 2.0 will eliminate this problem of pinned plugins during upgrades, and thereby offer much improved Update Center and Jenkins core upgrade (and plugin update) management from high-level.