【发布时间】:2023-04-07 10:20:02
【问题描述】:
我有三个版本。
- 构建 A
- 构建 B(从 A 克隆)
- 构建 C(从 B 克隆)
构建 A 构建我们的整个环境,构建 B 和 C 被克隆,但随后被剥离以仅构建特定部分并来自不同的分支。自从这样做以来,我们已经看到了 Build A 三倍的构建时间。它在每个构建中运行tf vc workspace /delete。
构建 C 也会删除它的工作区,但构建 B 不会。在存储库选项卡上,所有三个都将 Clean 设置为 false。
是否有任何地方可以查看/设置“获取源”任务的选项?什么会导致一个构建不执行此操作而其他两个构建执行此操作?
【问题讨论】:
-
您使用的是什么版本的 TFS?将
System.Debug设置为true的Get Sources 任务的输出是什么?您的工作区映射是否有任何前导空格字符?如果工作空间映射中存在前导空格,我已发现 TFS 2018(可能还有 TFS 2017)中的 TFVC 工作空间映射存在错误。 -
我们使用的是 2017 Release 1。将调试设置为 true 确实让我们对这个主题有了更多的了解。它似乎正在搜索特定的工作区,当它找到它时,映射已关闭:“预期的映射数量:'48'。实际:'44'”我使用 clean=true 运行构建以尝试清除映射,然后再次将其设置为 false,但仍处于关闭状态。所以我想我需要查看存储库以查看是否有问题?在我最初给出的示例中,Build B 已经删除了大量存储库,所以我想这也应该是一个线索。