首页 文章

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

提问于
浏览
2

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

TeamCity文档说

“为了能够获取项目源,构建代理不需要在它们上面安装任何预配置的版本控制系统 . 构建代理不需要在它们上安装任何VCS系统,因为在服务器上签出了源因此,维持公司基础设施所需的工作量较小 . “

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

1 回答

  • 1

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

    • 是否在构建配置中打开了清除检出

    • TC是否清理了源以释放磁盘空间作为无关构建的一部分

    • 构建历史清理规则(这肯定会清理工件/以前的构建,不确定源代码)

    • 其他内部TC规则不仅仅是像我们这样的道德理解

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

相关问题