TFS 2017 本地构建代理

TFS 2017 on-premises build agent

我们在 TFS 2017 上,本地安装。我们有一台 TFS 应用程序服务器/源服务器和一台构建服务器。在构建服务器上,我们只安装了一个默认的构建代理,如果提交了多个构建/发布,构建/发布就会排队。

我们可以在一台构建服务器上安装多个构建代理吗?

Can we install more than one build agent on the single build server?

是的。

If so, having more than one build agent, will it ease the build by running them parallely?

没有定论。 多个代理会让你 运行 并行构建多个吗?是的。

这会加快速度吗?也许。

构建通常 I/O 有限,这意味着瓶颈在于从磁盘读取和写入磁盘的速度。更多 CPU/RAM,过了某个点,将无济于事。

每台服务器一个代理绝对是矫枉过正。我的经验法则是机器中每个物理磁盘不超过两个构建代理。 RAM/CPU 根据需要进行调整,具体取决于正在编译的应用程序的 size/complexity。

When setting up build / release definitions, do we have to tell the defintion what build agent to use or will the TFS build automagically decide it?

您可以将构建代理注册到代理池和队列中。您指定要在构建定义中使用的代理队列。将从该组代理中挑选代理。

Are there any cost / licence implications of running more than one build agent on one single server?

许可基于并发性,而不是代理数量或构建服务器数量。

文档状态:

"Users who have Visual Studio Enterprise subscriptions are assigned to VS Enterprise access level in the Users hub of TFS instance. Each of these users contributes one additional concurrent pipeline to each collection. You can use this benefit on all Team Foundation Servers in your organization."

除此之外,没有许可考虑。

参考:https://docs.microsoft.com/en-us/vsts/build-release/concepts/licensing/concurrent-pipelines-tfs?view=vsts