jenkins - Jenkins从服务在重启后仍然停止
问题描述
我有两台 Windows 机器,一台是 Jenkins 主机,一台是 Jenkins 从机。在两台机器上都安装了 Jenkins 作为服务,并且从站配置为在 300 分钟不活动后脱机。软件测试应在夜间在两台机器上执行。经常早上check in的时候会发现以下情况:
- Jenkins master 启动并运行,所有测试都在这台机器上执行。
- 由于从服务器离线,有几个作业处于饥饿模式。
- Jenkins 从属 Windows 服务已停止。
- 重新启动主节点并在从节点上启动作业不会使从节点联机。
从站上找不到有用的错误信息。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 更新有关。但如果这是问题所在,我怎样才能让从属连接?
我感谢任何想法为什么会发生这种情况或我如何进一步调查这个问题。
解决方案
推荐阅读
- c# - 如何等到文件完全下载
- flutter - 从TextField切换到DropDownButton时,最后一个只出现片刻,又消失了
- node.js - Nodejs 加密模块不适用于打字稿
- c++builder - bcc32c 编译器的目标文件夹
- c++ - 如何在 C++ 中的 ArmNN for Linux 中加载 base onnx 模型
- flutter - 如何使用Provider来显示或隐藏FAB?
- php - 按两列和第二列作为日期对 SQL 进行排序
- python - 河内塔,理解代码的问题
- jenkins - Jenkins 无法发送电子邮件 - 需要身份验证
- python - 是否可以使用自定义方法创建新的 python 对象?