我有一组通过SSH连接的Jenkins奴隶。几个月来他们一直都很好。今天早上,我发现所有奴隶都已断开连接,当我尝试启动代理时,所有奴隶都有同样的错误:
01/05/18 16:27:13] [SSH] Starting slave process: cd "/home/ubuntu/jenkins_slave" && java -jar slave.jar
<===[JENKINS REMOTING CAPACITY]===>channel started
Slave JVM has not reported exit code. Is it still running?
[01/05/18 16:27:20] Launch failed - cleaning up connection
[01/05/18 16:27:20] [SSH] Connection closed.
ERROR: Connection terminated
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2638)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3113)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:853)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:349)
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)
Caused: java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:73)
我发现的一个常见问题是Jenkins和Java版本之间的不匹配,但我相信我的兼容(Jenkins服务器说2.46.3,奴隶都有Java 1.7)。
关于“它是否仍在运行?”,我没有看到Jenkins从属进程正在运行:
ps aux | grep java
什么都不返回。
我无法在奴隶端找到任何Jenkins日志。我在主方找到的所有日志只重复上面粘贴的错误。