VSTS 构建代理 - 一台计算机可以运行多个构建代理吗?
Posted
技术标签:
【中文标题】VSTS 构建代理 - 一台计算机可以运行多个构建代理吗?【英文标题】:VSTS build agents - Can one computer run multiple build agents? 【发布时间】:2017-04-09 09:33:18 【问题描述】:我有一个托管 VSTS 构建代理的 Windows VM。由于正在运行的构建的数量和长度,我想知道是否可以在一台计算机上托管多个构建代理?这将允许一个用于慢速构建的专用代理,以及一个用于快速构建的专用代理。
https://www.visualstudio.com/en-us/docs/build/admin/agents/v2-windows
【问题讨论】:
【参考方案1】:是的,您可以在单个 VM 中运行多个代理。
创建两个目录,分别为 Agent1 和 Agent2,在每个目录中提取代理,并针对您的 VSTS/TFS 帐户配置不同的名称。
它应该开箱即用。
【讨论】:
值得注意的是,构建通常受 IO 限制(磁盘/网络读/写速度),而不是内存/CPU 限制。在一台机器上运行过多的并行构建实际上会降低性能。 @DanielMann 我在同一台机器上运行两个构建代理,它们从不并行运行。应该可以吗? @Boland 我相信这与您设置的管道有关。您可以为您购买的每个私有管道同时运行 1 个构建或发布管道。转到 root vsts 设置 |构建和发布 |资源限制。使那些超过 1。【参考方案2】:我们每台机器同时运行 4 个代理作业,没有任何问题。如上所述,应该开箱即用。只要确保你清理目录。我们每天晚上都有一个脚本来做这件事
【讨论】:
您能详细说明一下吗?您只是删除 _work 文件夹中的内容还是更具体的内容?【参考方案3】:是的,这行得通,我做了以下操作:
-
为代理安装需求创建了 PAT
从代理创建页面下载代理二进制文件
将存档内容解压缩到 2 个不同的目录(“c:\ado-build-agents\agent1”和“c:\ado-build-agents\agent2”)
运行“config.cmd”并按照它提供的配置说明进行操作。
更新了构建代理池的管道,这些代理驻留在其中(在我的例子中为“默认”)
为了测试设置 - 触发了我拥有的所有 15 个管道。结果,我能够看到两条管道同时运行,而其他管道处于“排队”状态(符合我的预期)。
我还将测试代理如何消耗资源,以尝试了解我是否应该在构建机器上部署更多代理。
【讨论】:
以上是关于VSTS 构建代理 - 一台计算机可以运行多个构建代理吗?的主要内容,如果未能解决你的问题,请参考以下文章