TeamCity 轮询更改使 SVN 服务器无响应

TeamCity polling for changes makes SVN server unresponsive

我们在 teamcity 中有 4 个项目指向同一个 SVN 服务器 (CollabNet)。 Teamcity 设置为每 60 秒轮询一次更改。它只会在检测到差异时降低差异,并且每次签入的更改量非常小(一次几个文件)。经过几个小时的轮询,CPU 级别在 SVN 服务器上启动(所有与进程 httpd.exe 进程相关)并且 SVN 变得无响应。重启SVN服务暂时解决问题。

管理 SVN 的人员坚持认为 TeamCity 是导致问题的原因,因为不断进行轮询。在合作中,我将轮询频率降低到 600 秒,这使问题平息了。我觉得手头还有另一个问题,而 TeamCity 只是在加剧它。我对 10 分钟的轮询周期不满意,因为它延迟了对开发团队的反馈。他们已经开始去吃午饭了,而不是等待构建开始/完成:(

我在 Collabnet 论坛上找不到任何内容来检查或解决该问题。有没有人想过如何找到根本原因或对解决方案提出建议?看来SVN应该能够处理频繁的获取。

是时候移动到 GIT。

但是是的,SVN 往往有这类问题。另一种选择是编写 SVN post commit hook which will trigger Teamcity builds using Teamcity REST or VCS Update teamcity 插件。然后你可以让你的轮询间隔尽可能大,因为这无关紧要。因为 post-commit 钩子将在提交发生后立即触发构建。