c++ - 没有复制文件的 TeamCity 依赖?

标签 c++ windows ant teamcity

有没有办法让 TeamCity 构建的工件引用(但不复制)作为另一个 TeamCity 构建的依赖项?

一些背景:我一直在尝试减少几个 TeamCity 配置中的构建时间。这是一个依赖于多个第 3 方库的 C++ 程序,我们的系统管理员一直不愿意将其安装在构建机器上。

我们的第一次运行将库压缩并解压缩/编译为配置中的构建步骤。这需要一段时间,因此系统管理员建议将第 3 方库解压缩/编译移动到单独的配置中,并将该构建的工件设置为我试图加速的构建的依赖项。

然而,在此构建配置下情况更糟。扩展/编译的第 3 方库(超过 1GB)的大小实际上使原始配置的速度提高了 10 多分钟。如果有一种方法可以只引用工件目录而无需复制内容,那就太棒了。

最佳答案

不要使用人工制品依赖。

而是创建两个或多个构建配置(一个用于您的主应用程序,一个或多个用于第 3 方库)然后创建 snapshot dependencies在它们之间,将其配置为在同一代理上运行构建

这样做将确保您的第 3 方库中的二进制文件在本地文件系统上始终可用并且始终是最新的(但无需不断重建 - 假设没有源更改)。

您应该能够在 checkout directory 中轻松找到第 3 方二进制文件.

人工制品缓慢的原因是它们被上传到中央中央服务器,然后由代理下载。显然不适合 1GB 的第 3 方库。

关于c++ - 没有复制文件的 TeamCity 依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18450799/

相关文章:

c++ - 比较 std::system_error::code() 和 std::errc::invalid_argument 时出现段错误

c# - 使用实时流的语音识别

c++ - 单个文件上两个 C FILE* 流的一致性

java - 从java编译中排除类的特定方法

java - ANT 中的#{}-扩展是什么意思?

c++ - 将字符串从 vector 复制到字符串

c++ - C++中的动态内存分配?

c++ - 在文件中存储大量由定界符分隔的整数键值对的最有效方法

windows - 为什么有些控件没有窗口句柄?

包的 javac 编译问题