# versioncolumn-plugin **Repository Path**: mamh-java/versioncolumn-plugin ## Basic Information - **Project Name**: versioncolumn-plugin - **Description**: https://github.com/mamh-java/versioncolumn-plugin - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-14 - **Last Updated**: 2025-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README = Versions Node Monitors Plugin This plugin offers two _node monitors_: * Remoting Version * JVM Version == Plugin tutorial image:images/plugin-tutorial-video.png[link=https://www.youtube.com/watch?v=L2Uomz8RWUM&t=312s] == Remoting Version Node Monitor NOTE: The link:https://github.com/jenkinsci/remoting/blob/master/README.md[remoting module] handles the network connection between the Jenkins controller and agents. This monitor will disconnect an agent if it is not running the same version of remoting library as the version on the Jenkins controller. == JVM Version Node Monitor This monitor offers 3 levels of monitoring: [cols="2", options="header,border"] |=== | Level | Description & Examples | `Default` a| Agent must run a JVM whose https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Runtime.Version.html[feature-release counter] (for example, 17 or 21) is *greater than or equal to* that of the controller (strongly recommended minimum). Even without this plugin, it is **critical** to the health of your Jenkins cluster that the feature-release counter of the agent JVM **match** that of the controller. **Examples**: * Java 17.0.13 agent will not be disconnected from a Java 17.0.13 controller * Java 17.0.13 agent will not be disconnected from a Java 17.0.13.1 controller * Java 17.0.13.1 agent will not be disconnected from a Java 17.0.13 controller * Java 17.0.13.1 agent will not be disconnected from a Java 17.0.13.1 controller * Java 17.0.12+9 agent will not be disconnected from a Java 17.0.12+7 controller * Java 17.0.12+7 agent will not be disconnected from a Java 17.0.12+9 controller * Java 17.0.13 agent **will be disconnected** from a Java 21.0.5 controller * Java 21.0.5 agent will not be disconnected from a Java 17.0.13 controller * Java 21.0.4 agent will not be disconnected from a Java 21.0.5 controller * Java 21.0.5 agent will not be disconnected from a Java 21.0.4 controller * Java 21.0.5 agent will not be disconnected from a Java 21.0.5 controller | `Paranoid` a| Agent must run a JVM whose https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Runtime.Version.html[version number] -- including feature-release counter, interim-release counter, update-release counter, and patch-release counter (for example, 17.0.13 or 21.0.5) but _not_ including pre-release and build information (for example, 17.0.13+7, or 21.0.5+13) -- is *greater than or equal to* that of the controller. **Examples**: * Java 17.0.13 agent will not be disconnected from a Java 17.0.13 controller * Java 17.0.13 agent **will be disconnected** from a Java 17.0.13.1 controller * Java 17.0.13.1 agent will not be disconnected from a Java 17.0.13 controller * Java 17.0.13.1 agent will not be disconnected from a Java 17.0.13.1 controller * Java 17.0.12+9 agent will not be disconnected from a Java 17.0.12+7 controller * Java 17.0.12+7 agent will not be disconnected from a Java 17.0.12+9 controller * Java 17.0.13 agent **will be disconnected** from a Java 21.0.5 controller * Java 21.0.5 agent will not be disconnected from a Java 17.0.13 controller * Java 21.0.4 agent **will be disconnected** from a Java 21.0.5 controller * Java 21.0.5 agent will not be disconnected from a Java 21.0.4 controller * Java 21.0.5 agent will not be disconnected from a Java 21.0.5 controller | `Paranoid++` a| Agent must run a JVM whose https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Runtime.Version.html[version number] -- including feature-release counter, interim-release counter, update-release counter, and patch-release counter (for example, 17.0.13.1 or 21.0.5) but _not_ including pre-release and build information (for example, 17.0.13+7, or 21.0.5+13) -- is *equal to* that of the controller. **Examples**: * Java 17.0.13 agent will not be disconnected from a Java 17.0.13 controller * Java 17.0.13 agent **will be disconnected** from a Java 17.0.13.1 controller * Java 17.0.13.1 agent **will be disconnected** from a Java 17.0.13 controller * Java 17.0.13.1 agent will not be disconnected from a Java 17.0.13.1 controller * Java 17.0.12+9 agent will not be disconnected from a Java 17.0.12+7 controller * Java 17.0.12+7 agent will not be disconnected from a Java 17.0.12+9 controller * Java 17.0.13 agent **will be disconnected** from a Java 21.0.5 controller * Java 21.0.5 agent **will be disconnected** from a Java 17.0.13 controller * Java 21.0.4 agent **will be disconnected** from a Java 21.0.5 controller * Java 21.0.5 agent **will be disconnected** from a Java 21.0.4 controller * Java 21.0.5 agent will not be disconnected from a Java 21.0.5 controller |=== == Configuration Page image::images/configuration-options.png[Enable Versions Node Monitors] == Configuration as code The node monitors can be configured automatically with the following link:https://plugins.jenkins.io/configuration-as-code/[configuration as code] example: [source,yaml] ---- jenkins: nodeMonitors: - jvmVersion: comparisonMode: RUNTIME_GREATER_OR_EQUAL_MASTER_BYTECODE ignored: true - remotingVersion: ignored: true ----