Most Jenkins controllers with a distributed build configuration will leverage nodes that run a agent.jar
to start an agent. Regardless of whether the agent.jar
is launched through a Java Web Start or SSH launcher, the jar will be copied from https://yourserver:port/jnlpJars/agent.jar
to the build node. Keeping this jar up to date ensures that it picks up the newest features in a more recent release, such as the self-restart feature to keep agent JVMs “clean” and to automatically reconnect to their controller. Additionally, newer versions of this component may fix bugs or implement newer protocol versions with various improvements.
What is the Version Column Plugin?
Launch methods designed to pull the latest agent.jar
are not always reliable and some launch methods don’t even try to update the agent.jar
. Therefore it can be useful to see what agent.jar
version is running on a given build node and take offline any nodes which fails to update to the latest version of the jar.
The Version Column Plugin allows Jenkins controllers to do just this, adding a new column to the “Manage Nodes” view and a new option for version enforcement on the node configuration screen.
Getting started
After installing the Version Column Plugin, navigate to the list of nodes in your Jenkins instance by clicking Build Executor Status in the executors widget below the side panel on the Jenkins home page.
If the plugin installed successfully, you will see a new column simply called “Version”. This column displays the version of the agent.jar
that each build node is using.
This column is simply displaying the versions, so enforcement of agent.jar
versions will need to be configured elsewhere. To activate this, click on the “Configure” link in the node manager’s left-hand menu.
You will then see a set of options for agents. To activate version enforcement, check the “Version” box and apply your changes.
When you update Jenkins, there’s a chance it’ll come with a new version of agent.jar
. Now if the agent.jar
on a particular agent doesn’t get updated automatically, the controller will take it offline and show a warning next to the out-of-date agent version number:
The Version Column Plugin is available for download in the Jenkins plugin manager or from its wiki page.