我们有几台构建计算机,每台计算机都运行一个TeamCity构建代理程序。每台机器都很强大,我们想在同一台机器上运行几个构建代理。
这可能,不使用虚拟化?是否有TeamCity的高质量替代品支持这一点?
答案 0 :(得分:126)
是的,it's possible:
可以在一台计算机上安装多个代理。它们作为单独的代理运行,TeamCity将它们作为不同的代理使用,而不是利用它们共享同一台机器的事实。 安装一个代理后,您可以安装另外一个代理,只要满足以下条件:
确保没有指定绝对签出目录的构建配置(或者,确保此类构建配置启用了“clean checkout”选项,并且它们不能并行运行)。
在Windows下,要将其他代理安装为服务,请修改 [agent dir] \ launcher \ conf \ wrapper.conf 更改属性以在计算机中具有不同的名称:
答案 1 :(得分:29)
您还可以查看此博客文章,了解分步指南
http://handcraftsman.wordpress.com/2010/07/20/multiple-teamcity-build-agents-on-one-server/
答案 2 :(得分:1)
最佳答案是正确的方法,但如果您想更轻松地完成此操作,可以使用TeamCityAgent Chocolatey package并将代理商名称,代理商文件夹和端口提供为--params
,它将会处理设置配置文件以及通过server-jre
包提取所需的Java版本。
对此的一个警告是,您需要在第一个代理之后的任何安装上使用--force
,因为Chocolatey目前不了解如何使用不同的配置安装相同的应用程序作为" new&# 34;安装。
您还需要使用--version 2.0.1-beta-05
,因为它仍处于测试阶段,但应尽快退出测试阶段。
第二个代理的完整安装示例:
choco install teamcityagent --force -y --params 'serverUrl=http://teamcity.local:8111 agentName=AgentUno agentDir=C:\buildAgentUno ownPort=9091' --version 2.0.1-beta-05