1

我们有 4 个构建在同一个构建服务器上执行。它们使用相同的源代码,但使用不同的参数。每次构建时,它都会从源代码管理中下载 8 GB。4 个构建可以使用相同的工作空间吗?

4

2 回答 2

0

您可以通过在共享相同源代码的所有 4 个 TFS 构建定义中更改以下设置来将代码下载位置设置为一个位置:

'Workspace' tab > 'Build Agent Folder'

这里的默认值是 $(SourceDir) 和

$(SourceDir) - Expands to $(BuildDir)\Sources by default
$(BuildDir) - Expands to BuildAgent.BuildDirectory

因此,默认情况下,它将根据 BuildAgent 和您尝试的相应构建进行更改。

但是,如果您将值设置为Build Agent Folder“C:\Builds\CurrentProject”之类的本地路径(在 Build Agent 机器中可用)或“\10.10.41.42\Builds\CurrentProject”之类的 UNC 路径,则所有这 4 个构建都将下载到同一个位置。

在此之后,一旦您对新构建进行排队,请在Parameters以下部分的选项卡中: 1. Basic > Clean Workspace选择None或者Outputs如果您不想再次下载源代码,或者选择All是否要下载源代码。

于 2013-09-24T07:46:02.920 回答
0

我建议不要使用相同的工作区。每个工作空间执行许多 TFS 操作(例如,清理操作)。

每个构建定义都会有一个完整的源代码副本,但是您可以采取一些措施来避免每次构建都必须下载 8GB:

  • 设置您的工作区映射以尽可能少地下载(即映射到$/Team/Solution/Project未映射到$/)。
  • 隐藏不需要下载的所有文件夹 - 我们有 0.5GB 的东西我们不需要。
  • 将构建定义的Clean Workspace参数设置为Outputs. 然后它只会下载上一个版本和下一个版本之间的更改。
  • 最后,您可以在构建服务器上设置一个 TFS 代理服务器,并让该服务器缓存所有源代码。
于 2013-09-24T09:25:26.447 回答