TFS2015 vNext 构建签入 TFVC

TFS2015 vNext build check-in 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\s\Version.INI
2019-08-07T18:10:07.7546806Z 1 File(s) copied
2019-08-07T18:10:08.4098764Z TF14067: The item \agent1\_work\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%"

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

参见:

您可能 运行 喜欢什么:

  • 工作区更改:

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

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

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

    • tf 也依赖客户端缓存。

可能的修复:

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