5

所以,我在 Hudson 有几份工作需要 3 到 6 个小时才能运行。从机是在虚拟机上运行的各种不同的 Windows 操作系统。有时,会出现一个小问题,显然会导致已打开 6 小时的套接字关闭。(即使有完美的网络,这似乎也不疯狂)所以,我最终得到了一个指向这个的堆栈跟踪:

hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.net.SocketException: socket closed

有什么插件或其他方法可以解决这个非常烦人的问题吗?当您在 4 小时的构建过程中花费了 3 小时并且因此而失败时,这有点令人气愤。

4

2 回答 2

1

也许题外话了,但是您是否考虑过替代 CI 服务器,例如JetBrains TeamCity?我已经在 .NET 项目中使用了 4 年,并强烈推荐它们。

于 2013-10-18T15:39:10.110 回答
0

如果构建运行了 6 个小时,那么如果主从之间的连接中断,它将失败。因此,解决方案在于创建一个自定义逻辑来连接到从站,Hudson 为此提供了一个选项。检查此链接:http ://wiki.hudson-ci.org/display/HUDSON/Distributed+builds#Distributedbuilds-WriteyourownscripttolaunchHudsonslaves

具有重试逻辑的自定义脚本应该是出路。

于 2013-10-20T15:11:06.877 回答