Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins通过SSH oddity重新启动从属代理_Ssh_Jenkins_Agent - Fatal编程技术网

Jenkins通过SSH oddity重新启动从属代理

Jenkins通过SSH oddity重新启动从属代理,ssh,jenkins,agent,Ssh,Jenkins,Agent,偶尔,我的一个詹金斯奴隶代理会被詹金斯标记为离线。 代理实际上运行得很好,但Jenkins服务器似乎无法通过ssh连接到它。重新启动从属代理只会产生一个空的日志控制台 这个问题的一个非常奇怪的解决方法是: 将从属代理配置为使用不正确的IP地址 重新启动从属代理(此时,可能有两行日志线指示ssh尝试) 再次配置从属代理,这次使用正确的IP地址 重新启动从属代理 这似乎每次都能解决问题。有人经历过这种情况并知道更好的解决方案吗?我在Jenkins 2.222.3上遇到了类似的情况。停机后,大多数节点

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

这个问题的一个非常奇怪的解决方法是:

  • 将从属代理配置为使用不正确的IP地址
  • 重新启动从属代理(此时,可能有两行日志线指示ssh尝试)
  • 再次配置从属代理,这次使用正确的IP地址
  • 重新启动从属代理

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

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

    正在尝试重新连接slavexxx

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

    看起来有两个从机在第一次重试时被卡住了,并停留在某种无限循环中

    也许重新启动Jenkins会解决这个问题,但幸运的是我找到了一个更轻松的解决方法:我将远程根目录设置从/foo/bar/更改为/foo/bar,反之亦然。是的,我只更改了尾随/,因此新路径和旧路径在语义上保持相同。但是Jenkins可能感觉到远程根目录中的更改是中止正在进行的重新连接进程并启动新进程的充分理由


    YMMV

    这个变通方法似乎对我也适用;但我还是很好奇如何解决这个问题。我很好奇你用的是什么版本的詹金斯。您是否正在使用长期支持版本(1.580)?我可以在1.562上复制此问题(以及修复)。@greenhat我使用的是1.565.3