【发布时间】:2010-12-19 20:09:49
【问题描述】:
我们有几台构建机器,每台都运行一个 TeamCity 构建代理。每台机器都非常强大,我们希望在同一台机器上运行多个构建代理。
这可能吗,不使用虚拟化?是否有支持此功能的 TeamCity 的优质替代品?
【问题讨论】:
标签: continuous-integration teamcity build-process
我们有几台构建机器,每台都运行一个 TeamCity 构建代理。每台机器都非常强大,我们希望在同一台机器上运行多个构建代理。
这可能吗,不使用虚拟化?是否有支持此功能的 TeamCity 的优质替代品?
【问题讨论】:
标签: continuous-integration teamcity build-process
是的,it's possible:
可以在一台机器上安装多个代理。它们作为单独的代理运行,TeamCity 作为不同的代理与它们一起工作,而不是利用它们共享同一台机器的事实。 安装一个代理后,您可以再安装一个,前提是满足以下条件:
确保没有指定绝对签出目录的构建配置(或者,确保此类构建配置启用了“干净签出”选项并且它们不能并行运行)。
在 Windows 下,要将其他代理安装为服务,请修改 [代理目录]\launcher\conf\wrapper.conf 将属性更改为在计算机中具有不同的名称:
【讨论】:
【讨论】:
最佳答案是正确的方法,但如果您想更轻松地完成此操作,您可以使用TeamCityAgent Chocolatey package 并提供代理名称、代理文件夹和端口为--params,它将处理设置配置文件以及通过server-jre 包获取所需版本的Java。
对此的一个警告是,在第一个代理之后的任何安装中,您都需要使用 --force,因为 Chocolatey 目前不理解将具有不同配置的相同应用程序安装为“新”安装。
您还需要使用--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
【讨论】: