Tfs2010 Build - 用于多个TeamProjectCollection的BuildConrtoller

use*_*255 1 tfs tfsbuild tfs2010

我们将TFS作为单个服务器安装,具有多个TeamCollections.如果我配置构建,我必须将1个BuildController(只允许一个!)分配给一个TeamProjectCollection.

有可能(以及如何)拥有多个BuildControler,因为我们需要几个BuildConrtoller - 每个TeamProjectCollection一个.

是每个TeamProjectCollection都有自己的BuildServer的唯一解决方案!?

Jam*_*eed 5

我将对你的环境做一些假设,如果你更新问题,那么我会更新我的答案.此外,有关团队规模的一些信息也会有所帮助

假设编号1:您有一台服务器充当您的TFS应用程序服务器以及构建控制器和构建代理程序.

假设编号2:此单个服务器有4个处理器核心.

如果是这种情况,我建议您至少使用另外一台机器作为控制器/代理(它可以是VM).首先是性能,其次是安全性.构建服务以管理员身份运行,如果有人创建格式化驱动器或删除注册表的构建,那么您刚刚丢失了TFS服务器!

构建控制器只能与1个团队项目集合关联.您可以拥有与集合关联的任意数量的控制器/构建代理,但不能跨集合共享它们.

您可以拥有与核心一样多的构建代理,因此4核心机器最多可以托管4个构建代理(当您在服务器上安装团队构建时,您应该看到此选项)当然,这将对每个控制器的性能产生影响将共享相同的RAM和磁盘.

您也可以在同一台计算机上设置多个构建控制器,但Microsoft不支持此操作,这被视为黑客攻击.Jim Lamb在博客中写到了这一点,Mark Nichols写了一篇很好的指南

总结一下.如果您使用单个4核服务器,则可能最多可容纳4个构建代理,并使用类似数量的控制器.这可能适合您的需求.这有点像黑客,但它应该解决你的问题.

正确(但更昂贵)的方法是为每个控制器创建一个VM,然后为构建代理本身分离机器.例如,我们有2个团队项目集合.2个用于构建控制器的VM(每个集合一个)这些机器不需要那么强大,因为控制器没有做太多工作.我们为构建代理本身配备了16个四核机器.目前我们每台机器只托管2个代理,因此实际上每个Controller/Team Project Collection都有16个构建代理.虽然我们偶尔会在需要时在控制器之间移动代理.