首页 > 解决方案 > 当所有子作业都成功时,Jenkins 多作业显示失败

问题描述

我有一个有 6 个孩子的工作。在测试过程中,我发现即使所有子作业都成功了,多作业总是显示失败。错误信息是:

Finished Build : 1.0.0.1 of Job : Sub_Job_6 with status : SUCCESS
FATAL: Channel "unknown": Remote call on JNLP4-connect connection from build_machine/10.224.113.202:51903 failed. The channel is closing down or has closed down
java.nio.channels.ClosedChannelException
    at org.jenkinsci.remoting.protocol.NetworkLayer.onRecvClosed(NetworkLayer.java:154)
    at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:179)
    at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:789)
    at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused: hudson.remoting.ChannelClosedException: Channel "unknown": Remote call on JNLP4-connect connection from build_machine/10.224.113.202:51903 failed. The channel is closing down or has closed down
    at hudson.remoting.Channel.call(Channel.java:945)
    at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1078)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
    at com.tikal.jenkins.plugins.multijob.MultiJobBuild$MultiJobRunnerImpl.run(MultiJobBuild.java:148)
    at hudson.model.Run.execute(Run.java:1727)
    at com.tikal.jenkins.plugins.multijob.MultiJobBuild.run(MultiJobBuild.java:76)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE

标签: jenkins

解决方案


我找到了根本原因。我的一项子工作是关闭电源,打开构建机器的电源(实际上是重新启动)。重启后,Jenkins 客户端将重新连接到 Jenkins 服务器。服务器可能认为这是一个新的对话,旧的对话已经停止,但有一些例外。所以最终结果会显示失败。
在我删除这个子作业后,多作业终于显示成功。


推荐阅读