Issue
What is the recommended approach for pushing plugins when a new controller is added under an existing JOC?
Resolution
With Cluster Operations, you can push plugin installations from CJOC to a Client controller.
Basically, from CJOC you can create a push operation by following this procedure:
-
Click New Item then Cluster Operations
-
Under Add Operation click controllers
-
Under Step, click Add Step then Install Plugin/Upgrade all plugins/…
Extended documentation can be found here: https://docs.cloudbees.com/docs/cloudbees-ci/latest/traditional-admin-guide/cluster-operations#_cluster_operations
Examples
For these examples, we have configured a hosted update center, uploaded and promoted one plugin.

Parameterized Cluster Operation. String Parameters
-
Step 1. Create new Cluster Operation.
-
Step 2. If you want to be able to set which plugin you want to install on the controllers, you have to check This build is parameterized and add two params.

-
Step 3. Leave the Install plugin untouched because they have to match with parameters.

-
Step 4. You can find plugin-id and plugin version at plugin documentation.

-
Step 5. When you build the job, you will be asked for plugin-id and version.

-
Step 6. The plugin will be installed on controllers.

Parameterized Cluster Operation. Jenkins plugin name and version stored in hosted update center.
This parameter has a particular behavior. When is used, you are able to choose which plugin from a hosted update center is desired to be pushed to one or more Client controller.
-
Step 1. Create new Cluster Operation parameterized (
JENKINS_PLUGIN
)

-
Step 2. Use the same name for both of them (
${JENKINS_PLUGIN}
):

-
Step 3. When you build the job, you will ask for one plugin of your hosted update center:
