有没有办法阻止 TeamCity 检查所有 VCSRoot?
Is there a way to prevent TeamCity from checking all VCSRoots?
我们有大量组件,每次启动构建时,TeamCity 都会检查所有 VCSRoots 是否有更改。我们有大约 200 多个 VCSRoot。这会增加构建的启动时间。
那么,有什么办法可以防止这种情况发生,让 TC 检查附加到配置的 repo 吗?
就您的观点而言,是的 Teamcity 一旦创建 VCS 根目录,将始终监控它们。
Once a VCS root is configured, TeamCity regularly queries the version
control system for new changes and displays the changes in the Build
Configurations that have the root attached.
您提到您有 200 多个 VCS 根目录。
问题:您有 200 多个版本吗?
如果是,那么我建议精简您的根以仅查看存储库树中必要的文件夹,或者重复使用 VCS Roots。
TeamCity performs VCS-related operations per each VCS root separately,
thus it is advised to reuse VCS roots with same settings.
如果不是,并且我假设情况并非如此,则删除未使用的根目录。您可以从“管理员”选项卡中查看哪些 VCS 根未被使用。
对于那么多的构建,您应该使用一些代理。如果你不是,那么我建议添加一些。我认为免费许可证最多允许三个。
在每次构建之前,TeamCity 会收集直接附加到构建配置的所有 VCS 根中的更改,所有来自依赖项的根以及为 Versioned settings 配置的根。
如果可能,您可以尝试减少 VCS root 的数量。建议使用少量 VCS 根,指向存储库的根,并使用 checkout rules 定义要检出的内容。
解决此问题的一种方法是禁用 TeamCity 检查 VSC 根中的更改,而是使用 Web 挂钩调用来通知 TeamCity 源代码控制存储库中有更改。然后,您还可以配置一个触发器,仅在特定目录中的文件发生更改时才触发您的构建。希望这有帮助。
我们有大量组件,每次启动构建时,TeamCity 都会检查所有 VCSRoots 是否有更改。我们有大约 200 多个 VCSRoot。这会增加构建的启动时间。
那么,有什么办法可以防止这种情况发生,让 TC 检查附加到配置的 repo 吗?
就您的观点而言,是的 Teamcity 一旦创建 VCS 根目录,将始终监控它们。
Once a VCS root is configured, TeamCity regularly queries the version control system for new changes and displays the changes in the Build Configurations that have the root attached.
您提到您有 200 多个 VCS 根目录。
问题:您有 200 多个版本吗?
如果是,那么我建议精简您的根以仅查看存储库树中必要的文件夹,或者重复使用 VCS Roots。
TeamCity performs VCS-related operations per each VCS root separately, thus it is advised to reuse VCS roots with same settings.
如果不是,并且我假设情况并非如此,则删除未使用的根目录。您可以从“管理员”选项卡中查看哪些 VCS 根未被使用。
对于那么多的构建,您应该使用一些代理。如果你不是,那么我建议添加一些。我认为免费许可证最多允许三个。
在每次构建之前,TeamCity 会收集直接附加到构建配置的所有 VCS 根中的更改,所有来自依赖项的根以及为 Versioned settings 配置的根。
如果可能,您可以尝试减少 VCS root 的数量。建议使用少量 VCS 根,指向存储库的根,并使用 checkout rules 定义要检出的内容。
解决此问题的一种方法是禁用 TeamCity 检查 VSC 根中的更改,而是使用 Web 挂钩调用来通知 TeamCity 源代码控制存储库中有更改。然后,您还可以配置一个触发器,仅在特定目录中的文件发生更改时才触发您的构建。希望这有帮助。