首页 > 解决方案 > Jenkins从服务在重启后仍然停止

问题描述

我有两台 Windows 机器,一台是 Jenkins 主机,一台是 Jenkins 从机。在两台机器上都安装了 Jenkins 作为服务,并且从站配置为在 300 分钟不活动后脱机。软件测试应在夜间在两台机器上执行。经常早上check in的时候会发现以下情况:

从站上找不到有用的错误信息。jenkins-slave.err.log 的最后几行是:

INFO: Connected
Apr 01, 2019 3:40:23 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Terminated
Apr 01, 2019 3:40:33 PM jenkins.slaves.restarter.JnlpSlaveRestarterInstaller$FindEffectiveRestarters$1 onReconnect
INFO: Restarting agent via jenkins.slaves.restarter.WinswSlaveRestarter@99751ad

主人只是打印了很多行,比如

Apr 02, 2019 9:08:23 AM hudson.slaves.RetentionStrategy$Demand check
INFO: Disconnecting computer XYZ as it has been idle for 23 hr

主服务器上的 slave.log 也无济于事:

Remoting version: 3.27
This is a Windows agent
Agent successfully connected and online
ERROR: Connection terminated
java.nio.channels.ClosedChannelException

我在 Windows 事件查看器中发现一个事件说:

The Jenkins agent (jenkinsslave-C__Program Files (x86)_Jenkins-Slave) service failed to start due to the following error: 
The service did not respond to the start or control request in a timely fashion.

我添加到主从执行命令行:

-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle

一旦我在从机上手动启动 Windows 服务,它就会重新联机并且工作会继续。

我经常觉得这与在主服务器上自动安装 Windows 更新有关。但如果这是问题所在,我怎样才能让从属连接?

我感谢任何想法为什么会发生这种情况或我如何进一步调查这个问题。

标签: jenkinsconnectionjenkins-slave

解决方案


推荐阅读