Jenkins通过SSH奇怪重启Slave Agent

时间:2014-07-09 17:08:31

标签: ssh jenkins agent

偶尔,詹金斯会将我的一个Jenkins奴隶代理标记为离线。 代理实际上运行得很好,但Jenkins服务器似乎无法ssh到它。重新启动slave代理只会产生一个空的日志控制台。

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

  1. 配置从属代理使用不正确的IP地址
  2. 重新启动奴隶代理(此时,可能会有几条日志行指示ssh尝试)
  3. 再次配置从属代理,这次使用正确的IP地址
  4. 重新启动奴隶代理
  5. 这似乎每次都解决了这个问题。有没有人经历过这个并知道更好的解决方案?

1 个答案:

答案 0 :(得分:0)

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

尝试重新连接slavexxx

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

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

也许重新启动Jenkins可以解决它,但是幸运的是,我找到了一个更简单的解决方法:我将 Remote root directory 的设置从/ foo / bar /更改为/ foo / bar,反之亦然。是的,我只更改了结尾的/,因此新路径和旧路径在语义上保持相同。詹金斯仍然可能仍感觉到远程根目录的更改是中止正在进行的重新连接过程并开始新的重新连接过程的充分理由。

YMMV