我们在所有 TeamCity 代理上都安装了 BullsEye Coverage,并且有一个夜间脚本可以打开 BullsEye、重建我的项目、运行单元测试,然后关闭 BullsEye。 BullsEye bin 目录不在机器的路径中,我的脚本在运行之前添加了路径。 (该路径仅作为该 session 的脚本的一部分添加,而不是为整台机器永久设置)。
最近我在 TeamCity 构建日志中注意到所有项目(常规项目,而不仅仅是配置为运行覆盖率的项目)都使用 BullsEye 编译器。这是日志中的示例:
[11:29:38] [bsii_algorithms\build\vc10\bsii_algorithms.vcxproj] ClCompile (8s)
[11:29:38] [ClCompile] CL (3s)
[11:29:38] [CL] C:\Program Files (x86)\BullseyeCoverage\bin\CL.exe /c /I..\..\include /I..\..\..\bsii_common\include ...
此外,其中一个项目构建速度非常慢。具体来说,“ResolveProjectReferences”大约需要 20 分钟。我在网上读到,这可能会发生,因为某种分析已打开。所以我使用 TeamCity 用户登录到服务器并再次关闭 BullsEye。但这没有帮助。
所以我的问题是:
- 即使 BullsEye 不在机器路径中,使用 BullsEye 文件夹中的编译器编译一切是否正常?
- 如何配置机器以便只有覆盖率脚本使用 BullsEye 编译器?
- 这可能是构建花费很长时间的原因吗?
谢谢!
最佳答案
请注意,bullseye 是全局启用的(通过注册表?),因此与您的覆盖构建并行运行的任何构建都将发现自己(部分)已检测。出于这个原因,我们在他们自己的机器上运行我们的覆盖构建。
关于teamcity - 为什么使用 BullsEye 编译器编译项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22742070/