我们正在从CC/C++C.NET到TeamCity的组合.
原文链接:https://www.f2er.com/windows/363855.html我们的产品的核心是Windows,但我们有一个Mac代理.
我们的VCS检出模式设置为“自动在服务器上”.意思是将在(Windows)服务器上检出源,然后根据需要复制到代理(包括Mac代理).
我们的产品在其UI的一部分使用BWToolkit框架.这意味着我们将框架存储在我们的源代码控件中.
问题是TeamCity服务器的源代码复制了框架目录中的符号链接.这导致我们的产品无法构建(错误:BWToolkitFramework / BWToolkitFramework.h:没有这样的文件或目录).
这是根本框架目录里面的ls -l在我的机器上的样子:
total 24 lrwxr-xr-x 1 myuser admin 35 Nov 22 10:45 BWToolkitFramework -> Versions/Current/BWToolkitFramework lrwxr-xr-x 1 myuser admin 24 Nov 22 10:45 Headers -> Versions/Current/Headers lrwxr-xr-x 1 myuser admin 26 Nov 22 10:45 Resources -> Versions/Current/Resources drwxr-xr-x 5 myuser admin 170 Nov 22 10:45 Versions
这就是构建机器的外观:
total 24 -rwxrwxr-- 1 root admin 40 Nov 19 16:21 BWToolkitFramework -rwxrwxr-- 1 root admin 29 Nov 19 16:21 Headers -rwxrwxr-- 1 root admin 31 Nov 19 16:21 Resources drwxrwxr-- 4 root admin 136 Nov 19 16:21 Versions
此外,除了在构建机器上显示为链接(图标上的小箭头叠加),它们显示为具有unix可执行文件的文件.如果您打开这些文件之一应该是一个链接,你会得到类似于以下内容(这是从BWToolkitFramework链接):
link Versions/Current/BWToolkitFramework
这似乎是TeamCity中的服务器检出选项的一个问题,因为CruiseControl在同一台机器上运行,直接进行SVN检出,我没有任何问题.
有没有办法解决这个问题,而不是改变我们的TeamCity配置,以便在客户端选项上使用SVN checkout?