Jenkins 代理不断断开连接/重新连接

标签 jenkins agent

我有一个 Jenkins 主服务器。我刚刚创建了一个新的 jenkins 代理并通过 Java Web Start 在 ubuntu 主机中启动它。代理连接成功,但一段时间后显示“已终止”,一段时间后再次显示“已连接”。并且它一直这样重复。

我什至还没有尝试运行构建/作业

有趣的是,这个 ubuntu 代理和这个 jnlp 以及这个 java web start 在过去几周一直运行良好 - 甚至直到几个小时前。现在突然开始像这样反复断开和重新连接。

JNLP agent connected from /116.68.205.58
<===[JENKINS REMOTING CAPACITY]===>Slave.jar version: 3.2
This is a Unix agent
ERROR: Connection terminated
java.io.IOException: Unexpected termination of the channel
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:73)
Caused by: java.io.EOFException
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2353)
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2822)
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:301)
    at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48)
    at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:59)
ERROR: Failed to install restarter
hudson.remoting.RequestAbortedException: java.io.IOException: Unexpected termination of the channel
    at hudson.remoting.Request.abort(Request.java:307)
    at hudson.remoting.Channel.terminate(Channel.java:888)
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:92)
    at ......remote call to Channel to /116.68.205.58(Native Method)
    at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1537)
    at hudson.remoting.Request.call(Request.java:172)
    at hudson.remoting.Channel.call(Channel.java:821)
    at jenkins.slaves.restarter.JnlpSlaveRestarterInstaller.install(JnlpSlaveRestarterInstaller.java:52)
    at jenkins.slaves.restarter.JnlpSlaveRestarterInstaller.access$000(JnlpSlaveRestarterInstaller.java:33)
    at jenkins.slaves.restarter.JnlpSlaveRestarterInstaller$1.call(JnlpSlaveRestarterInstaller.java:39)
    at jenkins.slaves.restarter.JnlpSlaveRestarterInstaller$1.call(JnlpSlaveRestarterInstaller.java:36)
    at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Unexpected termination of the channel
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:73)
Caused by: java.io.EOFException
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2353)
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2822)
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:301)
    at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48)
    at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)
    at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:59)
JNLP agent connected from /116.68.205.58
<===[JENKINS REMOTING CAPACITY]===>Slave.jar version: 3.2
This is a Unix agent

最佳答案

检查 jenkins slave 日志是否存在可能的问题。另外,Jenkins节点配置页面下的Availability设置如何?

Jenkins >> Manage Jenkins >> Manage Nodes >> your node >> Configure

我最近有一个具有相同症状的 Windows 从站,并将可用性从

"Take this agent online when in demand, and offline when idle"

"Keep this agent online as much as possible"

它解决了我的问题,但您遇到的问题可能与我遇到的不同。所以我建议先查看从属日志。如果可以,请在此处发布日志片段以供进一步分析。

关于Jenkins 代理不断断开连接/重新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41694847/

相关文章:

jenkins - 如何使用Prometheus运算符取消Jenkins指标

jenkins - 使用 Jenkins 获取 HTTP ERROR 404

hudson - Jenkins 无法构建 Maven 项目(无法找到工件 com.sun :tools:jar:1. 5.0)

continuous-integration - 自托管代理未显示在代理池下拉列表下

jboss7.x - JBoss EAP 6/JBoss AS 7 的 OpenAM/OpenSSO 代理

oop - 现实世界中的面向代理的设计?

node.js - Jenkins 内的 Docker 代理 - npm "cannot find module"

azure-devops - Azure Devops 管道环境资源代理安装问题

ios - PerformSegueWithIdentifier 不起作用

jenkins - 标记 Jenkins 构建成功,以防输入超时? (声明式管道)