多个TeamCity代理 - 代码检出的位置

时间:2011-09-16 14:35:33

标签: teamcity

我在构建服务器上有一个默认代理,当它运行时 - 它检出了服务器文件夹中的代码并运行构建它。然后我在另一台机器(测试服务器)上安装了另一个teamcity构建代理

TeamCity文档说

  

“为了能够获得项目源,构建代理不是   需要有任何预配置的版本控制系统。

     

构建代理不需要在其上安装任何VCS系统   来源在服务器端检出。因此,较少的努力是   需要维护公司的基础设施。“

从服务器端检出源 - 如果运行安装在测试服务器上的代理,是否会在服务器上的另一个新文件夹中检出代码?或者它是否会运行相同的现有代码签出文件夹(服务器上的默认代理正在处理的文件夹)

1 个答案:

答案 0 :(得分:1)

前者是正确的:TeamCity将通过中央TC网络服务器(如果使用服务器端签出)从每个VCS根/构建代理组合的源代码管理中检出干净的代码副本。后续构建是否使用缓存的源副本或从源代码控制中再次检索是基于多种因素,包括:

  • 是否在构建配置中打开了清除结帐
  • TC是否清理了源以释放磁盘空间作为无关构建的一部分
  • 构建历史记录清理规则(这肯定会清除工件/以前的构建,不确定源代码)
  • 其他内部TC规则不仅仅是像我们这样的道德理解

因此,为了澄清,在使用服务器端签出时,代理始终依赖服务器代表它从源代码控制中检索代码,但代理本身负责管理源缓存。