我正在建立一个专用的构建计算机,其中包含多个构建代理,用于为多个团队项目执行CI / CD。
我已经针对我们的TFS服务器配置了一个代理池,并从该池中安装了10个代理作为我们计算机上的服务。
我们的工作主要是.net,但我们也有一些python和js的东西。
我的问题是使用一台具有所有工具集/依赖项的计算机的优缺点是什么?
我缺少什么好的做法?我很乐意听到一些意见。
答案 0 :(得分:1)
是的,您可以在一台计算机上运行多个代理。您可能希望有多个构建代理能够并行运行构建。
最大的优势是避免所有前期资本成本(物理服务器,MSFT服务器许可等)。而且您只需要一次部署构建机器(安装工具集/依赖项等)。
但请注意,构建通常是IO约束(磁盘/网络读/写速度),也受所消耗的内存/ CPU的限制。因此,在一台计算机上运行太多并行构建实际上会降低性能。也可能会影响对TFS的调用,并可能导致超时。
此外,您可能需要在构建服务器上安装其他或升级软件组件,并且可能需要重新启动才能生效,这可能会影响当前构建。虽然你试图尽可能地限制这一点,但最终你可能会在项目进展和中断现有构建时最终出现冲突的软件。
因此,建议您部署单独的构建服务器,并在每个代理上单独安装代理。这意味着使用多个构建代理来支持多个构建机器(例如:使用3个构建机器 - 和3个构建代理 - 来分配负载)。