【问题标题】:TFS Build is downloading all branches source code of a project, which is increasing the space consumed on TFS ServerTFS Build 正在下载项目的所有分支源代码,这增加了 TFS Server 上的空间消耗
【发布时间】:2020-03-03 15:12:53
【问题描述】:

我们正在使用 TFS 构建源代码并将其移动到 Web 服务器。在构建之前,文件被本地复制到 TFS 服务器中。在 TFS 中,代码的组织方式如图所示。

现在,在网站级别 (QA-Web1) 配置构建。但是在构建之后,所有文件都被下载(对于每个分支和每个网站)。这是在服务器上不断增加大小,要么需要手动清除,要么需要在服务器上添加空间。

有什么办法可以限制源代码下载到只需要的文件夹吗?

另外,如何执行此操作来删除现有文件夹?文件在名称为数字的文件夹中创建,与构建名称无关。编号和构建名称之间是否有任何映射关系?

【问题讨论】:

  • 你能分享你的“获取资源”步骤(在构建中)吗?
  • 你使用的是哪个版本控制,Git 还是 TFVC?
  • 我们正在使用 TFVC
  • 我在上图中添加了示例构建定义

标签: tfs tfsbuild


【解决方案1】:

根据您的屏幕截图,TFSAgent_Builddata_DEVQA 应该是您在工作区中的构建代理文件夹。

变量Agent.BuildDirectory

为给定构建管道创建所有文件夹的代理上的本地路径。

编号和版本名称之间没有任何映射。 ..\TFSAgent_Builddata_DEVQA\525 对于每个构建定义,它将创建一个文件夹(例如 1、2、3、4...525)。我们无法影响这个数字。

对于这部分的概念,你也可以看看这个类似的问题:Increment in _work directory

对于子文件夹:

  • ..\TFSAgent_Builddata_DEVQA\525\a 等于 Build.ArtifactStagingDirectoryagent上的本地路径 任何工件在被推送到目的地之前都会被复制到。
  • ..\TFSAgent_Builddata_DEVQA\525\b 等于 Build.BinariesDirectory 代理上的本地路径,您可以用作 已编译二进制文件的输出文件夹。
  • ..\TFSAgent_Builddata_DEVQA\525\s 等于 Build.SourcesDirectory 代理上的本地路径您的源代码文件所在的位置 已下载

Source Link

要减少构建代理的磁盘空间,您可以转到Get sources -- Workspace mappings,如屏幕截图所示,并确保已映射您要构建的项目。

仅包含您的构建管道所需的文件夹,类型值为 Map。如果映射文件夹的子文件夹包含构建管道不需要的文件,请将其映射为类型值 Cloak。更多详情请参考我们的官方教程:Mappings


其他方式:

  1. 您可以specify build retention policies,这将 自动删除旧的已完成构建以尽量减少混乱。 您在构建的保留选项卡上修改这些策略 定义。
  2. 使用“删除文件”实用程序任务。 $(Agent.BuildDirectory)$(Build.SourcesDirectory)variables 对此很有用。构建成功后会删除文件。更多信息请参考:Clear the work folder after each build

【讨论】:

  • 谢谢。有效。这很有帮助。我更改了 Map (in Repository) 部分以获取特定文件夹,而不是父项目文件夹。附上问题中的截图供其他人参考。
【解决方案2】:

您需要适当地设置构建的工作区。您的工作区映射过于广泛,可能映射到根 ($/TFS Project)。您需要将其范围缩小。这可以在存储库选项卡上完成。

【讨论】:

  • 我的问题不是安装 Visual Studio 并创建工作空间的本地系统中的空间增加。我的问题是,在 TFS 构建期间,队列将文件复制到 TFS 服务器上。这里会下载完整的项目(所有分支和网站)数据,而不仅仅是为其创建 TFS 构建的网站。如果我对您的评论的理解不正确,请告诉我。
【解决方案3】:

PatrickLu-MSFT 建议的解决方案。 “更改了地图(在存储库中)部分以获取特定文件夹,而不是父项目文件夹” 现在只有需要的文件夹被下载到服务器上的代理文件夹中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2020-09-17
    • 2011-12-21
    • 2016-06-01
    • 1970-01-01
    • 2015-06-24
    • 2013-09-17
    相关资源
    最近更新 更多