Upgrading Windows masters and agents for 2.60.1

The following features can be enabled after upgrading Jenkins to 2.60.1:

  • Automatic upgrade of Remoting library (slave.jar) on agents

  • Automatic termination of runaway agent processes on agents

  • Automatic termination of Jenkins controller processes

The described features and guidelines apply to classic JNLP agents installed as services. Plugins like Windows Agents Plugin do not offer all features so far, see JENKINS-42743.

Upgrading old Jenkins agents

The upgrade steps are described in the Agent Upgrade Guide (Windows Agent Installer Module Docs).

The only non-trivial action is a XML configuration change. During the 2.60.1 upgrade it is recommended to perform the following steps:

  1. Add the Runaway Process Killer extension.

    • See the example in the template referenced below.

  2. Enable automatic download of the slave.jar file

    • Example: <download from="JENKINS_URL/jnlpJars/slave.jar" to="%BASE%\slave.jar"/> (replace JENKINS_URL by the actual URL)

If you use Jenkins with HTTP over insecure network, be aware of the risk of MITM attacks. By default new agents have auto-update enabled for HTTPS only.

When updating the jenkins-slave.xml configuration file, you can use this file as a template for the new configuration.

Upgrading Jenkins controller

Jenkins controller executables may run away in some rare cases, hence it is recommended to enable the Runaway Process Killer for them.

In order to upgrade the master and enable this feature, perform the following steps:

  1. Update Jenkins to 2.60.1 and start the instance. It will automatically upgrade the jenkins.exe file.

  2. Stop the Jenkins service

  3. Modify jenkins.xml in the Jenkins home directory

  4. Start Jenkins again

To verify the upgrade correctness, check the jenkins.wrapper.log output. It should contain log entries related Runaway Process Killer after the successful startup.

Enabling extra Windows service features

WinSW and Agent installer offer many advanced features you may want to enable. For more details see these documents: