Jenkins奴隶在构建期间脱机。我怎么能解决这个问题,我在SO和Jenkins问题上看到了很多相关问题,但没有人给出解决方案。
我的配置:
詹金斯版本1.651.1, Zuul版本2.1.1.dev393与一个Jenkins大师(Ubuntu), 2个从站(Ubuntu)每个都有16GB的RAM 并行运行构建。
Jenkins master,devstack和两个nodepool从属在同一IP范围内。
我遇到一个问题,当其中一个奴隶完成其构建时,两个奴隶中的java进程都被杀死,因此另一个奴隶离线。
我通过列出从属服务器中运行的进程发现了这个问题,并观察到当一个slave完成其构建而另一个slave仍在运行构建时,java进程在两个slave中同时被杀死。
以前我遇到过这个问题,通过从Open JDK切换到Oracle的JDK解决了这个问题。现在奴隶正在使用oracle java 1.8.0_111,但现在我们也遇到了与Oracle-java8相同的问题
构建日志:
01:42:07 Slave went offline during the build
01:42:07 ERROR: Connection was broken: java.io.IOException: Unexpected termination of the channel
01:42:07 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
01:42:07 Caused by: java.io.EOFException
01:42:07 at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2351)
01:42:07 at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2820)
01:42:07 at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)
01:42:07 at java.io.ObjectInputStream.<init>(ObjectInputStream.java:302)
01:42:07 at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48)
01:42:07 at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read( AbstractSynchronousByteArrayCommandTransport.java:34)
01:42:07 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
01:42:07
01:42:07 Build step 'Execute shell' marked build as failure
答案 0 :(得分:6)
奴隶离线,因为
- 如果是这种情况,请尝试在从站中使用更少数量的执行程序,或在节点中拥有更多CPU / RAM。
- 停止清理过程或杀死消耗内存的孤儿进程。
- 需要再次通过scp将ssh密钥发送给奴隶,并需要再次修改。
请尝试一次并阅读以下文章以获取更多帮助。
答案 1 :(得分:1)
我在Linux上与Jenkins奴隶连接有类似的困难。他们不会开始或放弃而不是空转。
我发现问题出在Linux shell上,以及处理远程连接的方式。
经过多方努力,我的解决方案是:
bashrc文件(甚至是空文件)的存在破坏了集群。这是使奴隶在我们的环境中联合的唯一解决方案。文档没有涵盖这一点。
你可以想象“很多努力”基本上是用不同的bashrc文件组合反弹整个集群,直到最后只是沮丧地删除它们。
Centos和Jenkins CI与IBM ClearCase集成。
希望这个解决方案可能会帮助您解决问题。
答案 2 :(得分:0)
我通过在我的构建节点的路由器配置中指向一个静态 IP 来解决这个问题,可能是因为路由器下的设备太多并且 IP 被不规则地占用。
答案 3 :(得分:0)
我和你遇到了同样的问题,最后发现是节能器的配置。当我勾选了“显示器关闭时防止计算机自动休眠”并取消勾选“尽可能让硬盘进入休眠状态” ,问题消失了,供您参考。