所以,我在哈德森有几个工作需要3-6个小时才能运行。从机是在VM上运行的各种不同的Windows操作系统。有时会出现轻微的打嗝,显然会导致打开6小时的插座关闭。 (即使有完美的网络,这似乎并不疯狂)所以,我最终得到了一个指向这个的堆栈跟踪:
hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.net.SocketException: socket closed
是否有任何插件或其他方式我可以解决这个非常烦人的问题?当你在4小时的构建中经过3个小时并因此而失败时,这有点令人气愤。
答案 0 :(得分:1)
可能偏离主题,但您是否考虑过替代CI服务器,例如JetBrains TeamCity?我已经在.NET项目上使用了4年,并强烈推荐它们。
答案 1 :(得分:0)
如果构建运行了6个小时,那么如果Master-Slave之间的连接中断,它将会失败。 所以解决方案在于创建一个连接到slave的自定义逻辑,Hudson为此提供了一个选项。请检查此链接:http://wiki.hudson-ci.org/display/HUDSON/Distributed+builds#Distributedbuilds-WriteyourownscripttolaunchHudsonslaves
带有重试逻辑的自定义脚本应该是出路。