在同一台计算机上运行多个TeamCity Agent?

rip*_*234 83 teamcity continuous-integration build-process

我们有几台构建机器,每台机器都运行一个TeamCity构建代理.每台机器都很强大,我们想在同一台机器上运行几个构建代理.

这可能,而不使用虚拟化?是否有TeamCity的高质量替代品支持这一点?

Cra*_*der 129

是的,这是可能的:

可以在一台计算机上安装多个代理程序.它们作为单独的代理运行,TeamCity将它们作为不同的代理使用,而不是利用它们共享同一台机器的事实.安装一个代理后,您可以安装另外一个代理,只要满足以下条件:

  • 代理程序安装在单独的目录中
  • 他们有独特的工作和临时目录
  • buildAgent.properties配置为具有name和ownPort属性的不同值

确保没有指定绝对签出目录的构建配置(或者,确保此类构建配置启用了"clean checkout"选项,并且它们不能并行运行).

在Windows下,要将其他代理安装为服务,请修改[agent dir]\launcher\conf\wrapper.conf 以将属性更改为在计算机中具有不同的名称:

  • wrapper.console.title
  • wrapper.ntservice.name
  • wrapper.ntservice.displayname
  • wrapper.ntservice.description

  • 如果您已经离开并安装了代理而不知道上述内容(就像我一样),请在/ bin目录中安装的Build Agent上运行"service.uninstall.bat",然后对每个代理执行上述答案.之后,在每个代理上运行"service.start.bat". (13认同)
  • 杰出的。但奇怪的是,安装向导不支​​持安装多个代理。 (2认同)