我们拥有大量组件,每次启动构建时,TeamCity都会检查所有VCSRoots的更改。我们有200多个VCSRoots。这会为构建的启动时间增加相当长的时间。
那么,有没有办法阻止这种情况,只是让TC检查附加到配置的repo?
答案 0 :(得分:1)
对于您的观点,是Teamcity将始终在创建VCS Roots后对其进行监控。
配置VCS根目录后,TeamCity会定期查询该版本 控制系统进行新的更改并显示Build中的更改 附加根的配置。
您提到您有200多个VCS根。
问题:你有200多个版本吗?
如果是,那么我建议简化您的根,只在repo树中查看必要的文件夹,或重用VCS Roots。
TeamCity分别为每个VCS根执行与VCS相关的操作, 因此建议重用具有相同设置的VCS根。
如果不是,我假设不是这种情况,那么删除未使用的根。您可以从“管理员”选项卡中查看未使用的VCS根目录。
有了这么多版本,你应该使用一些代理。如果你不是,那么我建议添加一些。我认为免费许可最多允许三个。
答案 1 :(得分:1)
在每次构建之前,TeamCity直接收集附加到构建配置的所有VCS根中的更改,所有来自依赖项的根以及为Versioned settings配置的根。
如果可能,您可以尝试减少VCS根的数量。建议使用少量VCS根,指向存储库的根目录,并使用checkout rules来定义要检出的内容。
答案 2 :(得分:1)
解决此问题的方法是禁用TeamCity检查VSC根目录中的更改,而是使用Web挂钩调用通知TeamCity源控制存储库中存在更改。然后,您还可以将触发器配置为仅在某个目录中的文件发生更改时才触发构建。希望这会有所帮助。