Jenkins 通过 SSH 重新启动 Slave Agent

sog*_*wiz 5 ssh agent jenkins

有时,我的 Jenkins 从属代理之一会被 Jenkins 标记为离线。代理实际上运行得很好,但 Jenkins 服务器似乎无法通过 ssh 连接到它。重新启动从属代理只会产生一个空的日志控制台。

对于这个问题,一个非常奇怪的解决方法如下:

  1. 配置从属代理以使用不正确的 IP 地址
  2. 重新启动从属代理(此时,可能有几行日志行指示 ssh 尝试)
  3. 再次配置从代理,这次使用正确的IP地址
  4. 重新启动从属代理

这似乎每次都能解决问题。有没有人经历过这个并知道更好的解决方案?

Att*_*pak 1

我在 Jenkins 2.222.3 上遇到了类似的情况。中断后,大多数节点恢复并重新连接到主节点,但有几个节点没有恢复。我重新启动了发生故障的从机,但这根本没有帮助。我比较了好的和失败的从站的配置,检查了连接/防火墙等。唯一的区别是,根据主日志,在中断后,“好的”从站多次尝试重新连接,因为其中几个从站尝试重新连接。存在以下日志消息:

尝试重新连接slavexxx

失败的从站只有上述日志消息之一。(注意:我检查了节点配置的高级部分,即重试计数和重试间隔。所有从站都对这些设置使用相同的默认值。)

看起来有几个奴隶在第一次重试时陷入困境,并保持在某种无限循环中。

也许重新启动 Jenkins 就可以解决这个问题,但幸运的是,我找到了一个更简单的解决方法:我将远程根目录设置从 /foo/bar/ 更改为 /foo/bar ,反之亦然。是的,我只更改了尾随的 /,因此新路径和旧路径在语义上保持相同。尽管如此,詹金斯可能意识到远程根目录的更改足以中止正在进行的重新连接过程并开始新的重新连接过程。

青年MMV