我有两个詹金斯实例。我希望第一个实例的作业在第二个实例调用作业,等到它结束并执行一些操作(使用作业@ 2nd 产生的工件)
我想出了这个解决方案 - 通过 SSH 使用 Jenkins CLI 命令
ssh -p 2222 second-jenkins build second-job -s -v <further options>
但是此会话在 10 分钟后断开并显示消息:
收到与 192.168.147.102 的断开连接:2:用户空闲已在 600000 毫秒后超时。
我发现ssh 客户端选项名为ServerAliveInterval
ssh -o ServerAliveInterval=30 -p 2222 second-jenkins build second-job -s -v <...>
此选项的文档说
ServerAliveInterval
以秒为单位设置超时间隔,如果没有从服务器接收到数据,ssh(1) 将通过加密通道发送消息以请求服务器响应。默认为0,表示这些消息不会发送到服务器。此选项仅适用于协议版本 2。
这有效,但仅当服务器在每 10 分钟内至少安静 30 秒时才有效。当然,我可以使用 1 秒而不是 30 秒,但它不适用于具有连续控制台输出的作业(例如 maven 构建)。
即使对于繁重的控制台输出作业,是否有保持连接活跃的解决方案?