TFS 2010构建,持续丢弃位置,随机访问问题

时间:2014-06-02 09:36:58

标签: tfs tfs2010 workflow-foundation tfsbuild

我们正在使用TFS 2010 Build在固定位置提供库。 (\\ server \ product-R0 \ latest)

其他团队项目从此位置引用该库。

在我的构建过程中,我检查是否通过了构建和单元测试,如果可以的话:

  1. 转换web / app.config
  2. 使用“DeleteDirectory”活动
  3. 删除最新文件夹
  4. 使用“CreateDirectory”活动
  5. 创建最新文件夹
  6. 使用“CopyDirectory”活动
  7. 复制文件夹中的二进制文件

    我首先删除了该文件夹,因为如果我们重命名一个程序集,旧文件夹将不会被删除。

    这个问题是随机的,发生在40%的时间:

      

    TF270002:从中复制文件时出错   'D:\ Builds \ 1 \ FooTeam \ BarService \ Binaries'到   \\ NAS \构建\ BarService-R0 \最新'。

         

    详细信息:访问路径   '\\ NAS \构建\ BarService-R0 \最新\ SomeFile.dll'   被拒绝。

    如果你多次启动它,它就会起作用。

    我尝试了通常的愚蠢想法“在步骤之间放置睡眠以查看发生了什么”,但它没有解决问题,它似乎只是降低了它发生的可能性。

    就像TFS在删除目录时尝试复制一样,有时会挂起目录创建步骤。

    任何?谢谢!

1 个答案:

答案 0 :(得分:2)

最优雅的解决方案是创建链接而不是复制,例如

mklink /J D:\Drops\MyBuild_LatestGood D:\Drops\MyBuild_2014-06-13

Plus:不涉及复制,相同的ACL。 警告:当Drop共享位于Build服务器上时,此命令仅在本地有效。只要您被允许执行远程命令(例如SSH),NAS也有选项。

另一种选择是在所需文件夹上创建网络共享,即使磁盘是远程磁盘,只要它位于Windows服务器上。