java – Jenkins slave在构建过程中脱机

前端之家收集整理的这篇文章主要介绍了java – Jenkins slave在构建过程中脱机前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
jenkins奴隶在建设期间离线.我如何解决这个问题,我在SO和Jenkins问题上看到很多相关问题,但没有人解决.

我的配置:

jenkins版1.651.1,
Zuul版本2.1.1.dev393与一个jenkins大师(Ubuntu),
2个奴隶(Ubuntu)每个都有16GB的内存
并行运行构建.

Jenkins的master,devstack和两个nodepool从站都在同一个IP范围内.

当一个从机完成其构建时,我正面临着一个问题,那么这两个从机中的java进程就被杀死了,所以其他的从机脱机.

我发现这个问题通过列出在从站中运行的进程,并观察到,当一个从站完成其构建并且另一个从站仍在运行构建时,java进程在两个从站中同时被同时杀死.

以前我有这个问题,这是通过从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

解决方法

奴隶离线,因为

>运行在其上的作业正在消耗比它拥有更多的RAM
或没有内存.

– 如果是这种情况,尝试在从站中拥有较少的执行程序数或在节点中拥有更多的cpu / RAM.

>从机清理进程可能正在运行,或者某些孤立进程可能会在后面运行,这导致连接中断.

– 清理清理进程,或者杀死孤立进程,这是消耗内存的.

>主机和从机之间的SSH键可能会发生变化.

– 再次通过scp将ssh键发送到从站,需要再次触摸.

请尝试一次,并阅读以下文章以获得更多帮助.

> https://wiki.jenkins-ci.org/display/JENKINS/Remoting+issue
> Jenkins slave jobs failing on “Unexpected termination of channel”

猜你在找的Java相关文章