【发布时间】:2013-01-21 14:02:12
【问题描述】:
我们有一个特殊的构建配置,它需要运行大量的个人构建而不会有长时间的延迟。是否可以将特定代理专门用于运行个人构建?例如,如果我们有 5 个代理,是否有可能让所有 5 个都能够运行个人构建,但其中只有 3 个被 VCS 触发器触发?我能看到的唯一方法是创建 2 个代理池。这种方法的问题是您必须为每个池指定特定项目,这将涉及复制构建配置。
目前,个人构建在构建队列中配置为具有更高的优先级,但这无助于防止所有代理运行(缓慢)集成测试时出现延迟。理想情况下,这些集成测试将排队等待能够运行它们的 3 个构建代理之一空闲。有许多解决方法可以帮助减少影响,最好知道是否真的可以将代理专用于远程构建。
截至 2013 年 1 月,我们正在运行最新版本的 TeamCity,即 7.1.3。
【问题讨论】:
-
您最初的问题是什么?您正在询问特定的解决方案,但最好了解您的实际问题。据我了解,您的代理数量有限(由于许可证?)并且您的缓慢集成测试阻碍了开发人员的个人构建,对吗?
-
是的 - 问题正是您所描述的。由于代理执行长时间运行的配置,个人构建排队。在运行 2015 年 4 月的最新版本 (v9.0.3) 时,我们现在仍然遇到同样的问题。
-
那么如何颠倒您的问题,并尝试在特定代理上运行缓慢的集成测试,并将其余部分留给个人构建?
-
如果您将集成测试限制在特定代理,它将无法在任何其他代理上运行该配置的个人构建。
-
我没听懂。如果您将集成测试限制在特定代理,您将能够在其他机器上运行相同的配置构建。除非您将测试设置为一次只能运行 1 个实例。
标签: teamcity teamcity-7.1