TFS 2015 Build 未获取映射路径

TFS 2015 Build is not getting the Mapped path

出于某种原因,如果长路径映射,我的构建定义无法正常工作。如果我使用路径 $/Project/Samples 它工作正常。

我的构建在存储库选项卡中有这个:

然后日志显示没有找到 SLN,我确认没有任何内容被下载到代理工作文件夹:

对我来说,这是获取源代码时的一个错误,因为我看不出为什么不能正确获取文件。我已经尝试在上面的某些文件夹中添加文件并且它有效。一些想法?

这可能是一个长路径错误。解决此问题的一种方法是重置工作文件夹路径。

The default work folder location is a _work folder directly under the agent installation directory. You can change the location to be outside of the agent installation directory, for example: /WorkFolder:C:_work. One reason you may want to do this is to avoid "path too long" issues on the file system.

Source link

同时设置 Clean = "false"。这也可能是根本原因。如果您已设置 /Project/Samples 并构建定义。它将拉下 /project/Samples 下的所有文件。重新设置长路径,工作文件夹中已经有了文件。 TFS 可能无法获取新文件。设置 Clean= "True" 再试一次。

"workspace version -1" 通常发生在没有权限访问源代码管理时。检查源代码管理中文件夹的 "Inheritance" 设置,并确保它设置为 "On"。详情参考这个link:TFS 2015 Build Agent failing syncing the repository.

这里有类似的问题:

必须在团队项目 Collection 和团队项目范围内解决此权限问题。

第一,团队项目Collection:

  1. 浏览至 http://[my_tfs_server]:8080/tfs/[my_collection_name]/_admin/_security?_a=members(您的 Collection 的安全管理选项卡)
  2. 单击 TFS 组 "Project Collection Build Service Accounts"
  3. 确保用户(不是组)"Project Collection Build Service (TEAM FOUNDATION)"是组
  4. 的成员
  5. 如果不是会员,请使用 "Add Windows user or group" 菜单添加,然后浏览 -- 您应该可以在用户列表中找到它

第二个,团队项目:

  1. 浏览到 http://[my_tfs_server]:8080/tfs/[my_collection_name]/[my_team_project]/_admin/_versioncontrol

  2. 确保用户(不是组)"Project Build Service (TEAM FOUNDATION)"出现在安全列表中(连同"Project Collection Build Service Accounts"组)

  3. 如果不是会员,用"Add Windows identity"菜单添加,然后浏览--你应该在用户列表中找到它

第三,确保"Project Collection Build Service Accounts"组和"Project Build Service (TEAM FOUNDATION)"用户有适当的版本控制权限,如Read和Label。确保继承设置为开。

有了这些权限,-1 问题应该可以解决。