TFS2015 vNext构建签入TFVC

时间:2019-08-08 12:27:40

标签: tfs build tfsbuild tfs-2015 tfvc

我有一个XAML构建,已将其迁移到vNext构建。 第一步是批量执行。

此批处理将修改版本文件,并在TVFC中检入更改。

在XAML中,构建工作就像一个魅力。同一批显示此日志:

2019-08-07T18:10:07.7390807Z Current version: 2.0.13.17
2019-08-07T18:10:07.7546806Z C:\agent1\_work\1\s\Version.INI
2019-08-07T18:10:07.7546806Z 1 File(s) copied
2019-08-07T18:10:08.4098764Z TF14067: The item \agent1\_work\1\s\Version.ini could not be found in the ws_1_85;Project Collection Build Service workspace, or you do not have permission to access it.
2019-08-07T18:10:08.7374743Z There are no pending changes matching the specified items.
2019-08-07T18:10:08.7530742Z No files checked in.

似乎没有文件更改。我检查Version.ini文件已成功修改。 这是.bat:

\\VersionUpdater\VersionUpdater.exe  /UPDATE VERSIONPATH="%~dp0Version.ini"  SOLUTIONFOLDER="%~dp0Develop"
xcopy "%~dp0Version.ini" "%~dp0actualversion\" /Y
call %~dp0tf.bat checkout "%~dp0Version.ini"
set /p Version=<"%~dp0Version.ini"
\\VersionUpdater\VersionUpdater.exe  /INCREMENT VERSIONPATH="%~dp0Version.ini"
call %~dp0tf.bat checkin "%~dp0Version.ini" /noprompt /comment:"Version upgrade %Version%"

1 个答案:

答案 0 :(得分:2)

为解决这些问题,我建立了一组任务来为您执行签入。

请参阅:

您可能遇到的问题:

  • 工作区更改:

    • XAML构建使用服务器工作区。
    • 1.x 2015代理默认为本地工作区(但可以使用服务器工作区)。
    • 2.x 2015+代理强制实施本地工作区。
  • 本地工作区不支持
  • tf vc checkout

  • TeamFoundation工作区缓存目录已移动

    • 不同的代理使用不同版本的客户端对象模型。
    • 对象模型的每个主要版本都将计算机工作空间存储在特定于版本的文件夹中。
  • tf.exe / tf.bat可能使用了与代理不同的对象模型缓存。

    • tf也依赖于客户端缓存。

可能的解决方法:

  1. 将呼叫转移到tf checkout
  2. tf的版本与代理的客户端对象模型进行匹配。
  3. 调用tf vc workspaces /collection:SERVERURI /computer:AGENTMACHINENAME从批处理脚本刷新工作区缓存。
  4. 升级到TFS 2018,以获得2.x代理的所有更好功能。
  5. 使用我的TF VC tasks