为什么构建服务器轮询更改而不是SVN触发一个告诉构建服务器启动构建的事件(或提交后步骤)?轮询更改似乎非常低效,特别是当项目数量增加且轮询周期设置为非常低的值(例如,30秒)时。
答案 0 :(得分:1)
Hudson还支持通过提交后触发器构建。请参阅:
http://wiki.hudson-ci.org/display/HUDSON/Subversion+Plugin
提交后挂钩
Hudson可以调查Subversion 存储库的变化,同时 这是合理有效的,这可以 每次只发生一次, 所以你可能还是要等一下 在哈德森发现变化之前一分钟。
要减少此延迟,您可以设置一个 post commit hook所以Subversion 存储库可以随时通知Hudson 对该存储库进行了更改。 为此,请添加以下脚本 在你的提交后文件中
。 。
(有Linux / Windows的例子。)
答案 1 :(得分:1)
轮询更改似乎非常低效,特别是当项目数量增加且轮询周期设置为非常低的值(例如,30秒)时。
轮询效率低下,根本不会扩展。如果您的VCS支持提交后挂钩,您应该更喜欢这种机制。 Hudson公开了一个URL来触发构建,从后提交脚本中获取它(并配置适当的静默期)。
答案 2 :(得分:-2)
通常,构建计划在指定的时间间隔启动,例如每天凌晨3点。可以放置一些逻辑来查看是否有更改然后只构建项目,但通常他们不会检查和构建每天(每晚构建)
至于你的建议是好的,我会说在每次提交时开始构建都不可行。很多时候,开发人员不会一次性提交更改并且更喜欢增量签入。此外,它还让您高枕无忧,知道构建过程何时启动,以便您在错误提交时至少有机会整理一些东西。根据您的建议,错误的提交会导致错误的构建。