Plugin Spotlight: Version Column Plugin
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.
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.
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.