在构建服务安装在自己的专用服务器上时,可以在构建服务上运行的构建代理的默认数量是多少?

时间:2011-05-11 11:42:03

标签: tfs tfsbuild

我正在参加一个我应该回答几个工程和技术相关问题的比赛。我希望你们中的一些人可以帮我解决这个问题。

我已经在网上搜索了几个小时,但我似乎无法弄清楚所用名称的区别。 我在msdn上看到了这篇文章http://msdn.microsoft.com/en-us/library/dd793166.aspx,但我仍然无法得出答案。

问题是:

在Team Fitting Solutions中,我们使用Team Foundation Server 2010来管理和构建我们的C#和C ++代码。 Team Foundation Server能够使用许多构建代理和构建服务构建代码。 在构建服务安装在自己的专用服务器上时,可以在构建服务上运行的构建代理的默认数量是多少?

  1. 每个构建服务一个构建代理
  2. 默认的构建代理程序数由托管构建服务的服务器上的处理器核心数定义
  3. 无,因为构建代理无法在托管构建服务的服务器上运行;它需要自己的专用服务器

4 个答案:

答案 0 :(得分:4)

感谢您的工作。

事实证明,正确答案是答案2。 我们发现“如果您在自己的服务器上安装了Team Foundation Build Service,那么在此构建计算机上运行的构建代理程序数量的默认设置等于此服务器上的处理器核心数”。 在http://msdn.microsoft.com/en-us/library/ee259683.aspx

这显然是正确答案。

答案 1 :(得分:2)

处理器核心数量与代理程序数量无关。它是MSBuild,它利用了多核处理器。所以这里的正确答案是#1:代理的默认数量是一个。

在一台构建计算机上拥有多个代理将允许您并行构建不同的平台/配置,或者一次在控制器上运行多个构建。

答案 2 :(得分:1)

根据http://msdn.microsoft.com/en-us/library/ee259687.aspx 看起来默认的构建代理数量是一个。

这是他们要问的一个奇怪的问题。

答案 3 :(得分:0)

在Hashimi / Bartholomew MSPress的书“使用MSBuild和Team Foundation Build”中,作者建议不要将Build Agent与Team Foundation Server放在同一台机器上。他们给出的理由是:

  • 编译是资源密集型的,可能会降低TFS性能
  • 构建脚本和在TFS上运行的测试可能会危及安全性,因为这些通常由非管理员编写
  • 构建脚本和项目通常需要第三方软件或库,在TFS上安装这些软件或库同样会危及安全性。

他们说好的唯一情况是用于演示或测试目的,在不同的机器或虚拟机上使用它们是不切实际的。