1

为什么构建服务器轮询更改而不是 SVN 触发一个告诉构建服务器开始构建的事件(或提交后步骤)?轮询更改似乎非常低效,尤其是当项目数量增加并且轮询周期设置为非常低的值(例如,30 秒)时。

4

3 回答 3

1

Hudson 还支持通过提交后触发器构建。见:
http ://wiki.hudson-ci.org/display/HUDSON/Subversion+Plugin

提交后挂钩

Hudson 可以轮询 Subversion 存储库以进行更改,虽然这相当有效,但这种情况最多只能每分钟发生一次,因此在 Hudson 检测到更改之前您可能仍然需要等待整整一分钟。

为了减少这种延迟,您可以设置一个提交后挂钩,以便 Subversion 存储库可以在对该存储库进行更改时通知 Hudson。为此,请将以下脚本放入您的提交后文件中

. . .

(有适用于 Linux/Windows 的示例。)

于 2010-06-16T19:31:19.400 回答
1

轮询更改似乎非常低效,尤其是当项目数量增加并且轮询周期设置为非常低的值(例如,30 秒)时。

Polling is inefficient and it doesn't doesn't scale at all. If your VCS has support post-commit hooks, you should prefer this mechanism. Hudson exposes an URL to trigger a build, wget it from the post-commit script (and configure an appropriate quiet period).

于 2010-06-16T20:13:27.777 回答
-2

通常,构建计划在指定的时间间隔开始,例如每天凌晨 3 点。可以放置一些逻辑来查看是否有更改,然后只构建项目,但通常他们不检查并且每天都进行构建(每晚构建)

至于您的建议是一个好的建议,我想说在每次提交时启动构建看起来并不可行。很多时候,开发人员不会一次性提交他们的更改,而是更喜欢增量签入。此外,它还可以让您高枕无忧地知道构建过程何时开始,以便您至少有机会在错误提交的情况下进行整理。根据您的建议,错误的提交会导致错误的构建。

于 2010-06-16T19:34:09.283 回答