Windows Azure上与Jenkins slave的连接问题

前端之家收集整理的这篇文章主要介绍了Windows Azure上与Jenkins slave的连接问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Windows Azure VM上设置了Jenkins从属节点.在该节点上构建时,项目可以平稳运行大约20-30分钟,之后连接将被丢弃.连接被删除后,我一直在节点VM上,看起来它正在丢失/重置与Jenkins Master(也是Azure VM)的连接.有没有人有类似的问题,并能够解决它?堆栈跟踪如下.任何帮助,将不胜感激.

Progress: |=====================FATAL: hudson.remoting.RequestAbortedException: java.io.IOException: Failed to abort@H_301_3@ hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.io.IOException: Failed to abort@H_301_3@ at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:41)@H_301_3@ at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:34)@H_301_3@ at hudson.remoting.Request.call(Request.java:174)@H_301_3@ at hudson.remoting.Channel.call(Channel.java:739)@H_301_3@ at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:168)@H_301_3@ at com.sun.proxy.$Proxy49.join(Unknown Source)@H_301_3@ at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:951)@H_301_3@ at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:137)@H_301_3@ at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:97)@H_301_3@ at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)@H_301_3@ at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)@H_301_3@ at@H_301_3@ hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:745)@H_301_3@ at hudson.model.Build$BuildExecution.build(Build.java:198)@H_301_3@ at hudson.model.Build$BuildExecution.doRun(Build.java:159)@H_301_3@ at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:518)@H_301_3@ at hudson.model.Run.execute(Run.java:1709)@H_301_3@ at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)@H_301_3@ at hudson.model.ResourceController.execute(ResourceController.java:88)@H_301_3@ at hudson.model.Executor.run(Executor.java:231)

Caused by: hudson.remoting.RequestAbortedException: java.io.IOException: Failed to abort@H_301_3@ at hudson.remoting.Request.abort(Request.java:299)@H_301_3@ at hudson.remoting.Channel.terminate(Channel.java:802)@H_301_3@ at hudson.remoting.Channel$2.terminate(Channel.java:483)@H_301_3@ at hudson.remoting.AbstractByteArrayCommandTransport$1.terminate(AbstractByteArrayCommandTransport.java:72)@H_301_3@ at org.jenkinsci.remoting.nio.NioChannelHub$NioTransport.abort(NioChannelHub.java:184)@H_301_3@ at org.jenkinsci.remoting.nio.NioChannelHub.run(NioChannelHub.java:563)@H_301_3@ at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)@H_301_3@ at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)@H_301_3@ at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)@H_301_3@ at java.util.concurrent.FutureTask.run(Unknown Source)@H_301_3@ at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)@H_301_3@ at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)@H_301_3@ at java.lang.Thread.run(Unknown Source)

Caused by: java.io.IOException: Failed to abort@H_301_3@ … 9 more

Caused by: java.io.IOException: An existing connection was forcibly closed by the remote host@H_301_3@ at sun.nio.ch.SocketDispatcher.read0(Native Method)@H_301_3@ at sun.nio.ch.SocketDispatcher.read(Unknown Source)@H_301_3@ at sun.nio.ch.IoUtil.readIntoNativeBuffer(Unknown Source)@H_301_3@ at sun.nio.ch.IoUtil.read(Unknown Source)@H_301_3@ at sun.nio.ch.SocketChannelImpl.read(Unknown Source)@H_301_3@ at org.jenkinsci.remoting.nio.FifoBuffer$Pointer.receive(FifoBuffer.java:136)@H_301_3@ at org.jenkinsci.remoting.nio.FifoBuffer.receive(FifoBuffer.java:306)@H_301_3@ at org.jenkinsci.remoting.nio.NioChannelHub.run(NioChannelHub.java:496)@H_301_3@ … 7 more

我也在Azure中设置了Jenkins CI并遇到了同样的问题.具体来说,我会在Jenkins从站错误日志中看到此错误
SEVERE: I/O error in channel channel
java.net.SocketException: Connection reset

解决此问题,您需要增加从站ping主站的频率.您可以通过将Dhudson.slaves.ChannelPinger.pingInterval系统属性添加到主jenkins.xml文件来完成此操作.

修改它每2分钟ping一次,并且通道能够保持连接而不丢弃它. XML看起来像这样:

<arguments>
  -Xrs -Xmx256m -Dhudson.slaves.ChannelPinger.pingInterval=2 
  -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle 
  -jar "%BASE%\jenkins.war" 
  --httpPort=8080
</arguments>

有关更多信息,请参阅the related ticket.

原文链接:https://www.f2er.com/windows/364446.html

猜你在找的Windows相关文章