我们正在使用TFS 2010 Build在固定位置提供库。 (\\ server \ product-R0 \ latest)
其他团队项目从此位置引用该库。
在我的构建过程中,我检查是否通过了构建和单元测试,如果可以的话:
我首先删除了该文件夹,因为如果我们重命名一个程序集,旧文件夹将不会被删除。
这个问题是随机的,发生在40%的时间:
TF270002:从中复制文件时出错 'D:\ Builds \ 1 \ FooTeam \ BarService \ Binaries'到 \\ NAS \构建\ BarService-R0 \最新'。
详细信息:访问路径 '\\ NAS \构建\ BarService-R0 \最新\ SomeFile.dll' 被拒绝。
如果你多次启动它,它就会起作用。
我尝试了通常的愚蠢想法“在步骤之间放置睡眠以查看发生了什么”,但它没有解决问题,它似乎只是降低了它发生的可能性。
就像TFS在删除目录时尝试复制一样,有时会挂起目录创建步骤。
任何?谢谢!
答案 0 :(得分:2)
最优雅的解决方案是创建链接而不是复制,例如
mklink /J D:\Drops\MyBuild_LatestGood D:\Drops\MyBuild_2014-06-13
Plus:不涉及复制,相同的ACL。 警告:当Drop共享位于Build服务器上时,此命令仅在本地有效。只要您被允许执行远程命令(例如SSH),NAS也有选项。
另一种选择是在所需文件夹上创建网络共享,即使磁盘是远程磁盘,只要它位于Windows服务器上。