如何配置teamcity构建代理以在系统上使用包含文件?

时间:2016-10-05 19:45:57

标签: c++ teamcity

我有一个使用boost标头/库的项目,我想为团队城市构建代理创建一个构建配置(TeamCity 10.0.2 / Windows 10 / Visual Studio 2015)。 boost头/库不是项目的一部分(这不是git中的boost)。而是开发机器上的boost头/库相对于项目文件(例如$(SolutionDir)........ \ boost_1_59_0)。

使用构建代理进行构建失败,因为无法找到boost头文件。要解决这个问题,我试过:

  • 使用固定位置(例如C:\ boost_1_59_0)并将boost置于运行构建代理程序的机器上的相同位置,但这没有帮助。
  • 创建环境变量INCLUDE并将其设置为boost的位置。它显示在团队城市Web界面中的构建代理的环境变量中。
  • 将boost复制到构建代理工作目录不起作用,因为构建代理删除了目录。
  • 将构建代理/ teamcity网络服务器设置为以非“本地系统”帐户运行。

如何配置构建代理以便它知道在何处找到boost库?

1 个答案:

答案 0 :(得分:2)

在构建配置中,在构建sln之前创建新构建步骤,将boost标头复制到正确的文件夹中。使用Command Line Runnerxcopy命令执行此操作。

命令行可以使用source checkout目录:

xcopy /Y /E "E:\local_boost_install_folder" "%system.teamcity.build.checkoutDir%\src\boost_1_59_0"

另一种方法是将脚本工作目录设置为%system.teamcity.build.checkoutDir%\src\并创建目录链接:

mklink /D boost_1_59_0 "E:\local_boost_install_folder"