微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

osx – 当使用Windows服务器和Mac代理程序使用服务器检出模式时,如何阻止TeamCity将符号链接转换成文件?

我们正在从CC/C++C.NET到TeamCity的组合.

我们的产品的核心是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?

我将这个问题提交为 TW-14499,希望得到官方的回复/解决.

它刚被标记TW-5953 Symlinks are not supported for SVN server-side checkout的重复,所以这是一个已知的问题,已经开放了大约2年.如果有人遇到这个问题,请投票/评论这个问题,希望能够得到修正.

原文地址:https://www.jb51.cc/windows/363855.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐