【问题标题】:Jenkins Relaunch Slave Agent via SSH oddityJenkins 通过 SSH 奇怪重新启动从代理
【发布时间】:2014-08-30 20:09:58
【问题描述】:

偶尔,我的一个 Jenkins 从代理会被 Jenkins 标记为离线。 该代理实际上运行得很好,但 Jenkins 服务器似乎无法对其进行 ssh。重新启动从代理只会产生一个空的日志控制台。

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

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

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

【问题讨论】:

  • 这个变通办法似乎也对我有用;不过,仍然对解决此问题的实际方法感到好奇。
  • 我很好奇您使用的是什么版本的 Jenkins。您使用的是长期支持版本 (1.580) 吗?我可以在 1.562 上重现这个问题(和修复)。
  • @greenhat 我使用的是 1.565.3

标签: ssh jenkins agent


【解决方案1】:

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

正在尝试重新连接 slavexxx

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

看起来有几个奴隶在第一次重试时被卡住了,并且一直处于某种无限循环中。

也许重新启动 Jenkins 会修复它,但幸运的是我找到了一个更轻松的解决方法:我将 远程根目录 设置从 /foo/bar/ 更改为 /foo/bar,反之亦然。是的,我只更改了尾随的 /,因此新旧路径在语义上保持不变。尽管如此,Jenkins 可能还是感觉到远程根目录的变化是一个足够好的理由来中止正在进行的重新连接过程并开始一个新的过程。

YMMV

【讨论】:

    猜你喜欢
    • 2018-03-11
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 2020-11-22
    • 1970-01-01
    • 2015-03-03
    • 1970-01-01
    相关资源
    最近更新 更多