【问题标题】:Possible to make Hudson more resilient to minor networking hiccups?有可能让 Hudson 对轻微的网络故障更有弹性吗?
【发布时间】:2013-10-18 14:13:41
【问题描述】:

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

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

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

【问题讨论】:

  • 我看到的关于这个确切问题的错误报告和邮件列表张贴的数量是惊人的,而且没有一个回复有修复,甚至没有提示问题是什么。只是“我也是”.. 我希望 stackoverflow 可以给我一些答案,并作为未来谷歌人的参考

标签: hudson hudson-plugins


【解决方案1】:

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

【讨论】:

  • 主要是因为现有的基础设施不能。大概有 10 个 jenkins 构建 slave,大约 40 个独立的构建,广泛依赖于一些 jenkins 插件。这样做太贵了。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2017-12-23
    • 1970-01-01
    • 2013-10-30
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多