多个构建如何共享工作区

时间:2013-09-23 12:57:34

标签: build tfs2012

我们有4个版本在同一个构建服务器上执行。它们使用相同的源代码,但使用不同的参数。每次构建时,每次从源控件下载8 GB。 4个版本可以使用相同的工作区吗?

2 个答案:

答案 0 :(得分:0)

您可以通过更改以下所有4 TFS Build Definition中的以下设置将代码下载位置设置为一个位置:

'Workspace' tab > 'Build Agent Folder'

此处默认值为$(SourceDir)和

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

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

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

在您对新版本进行排队后,请执行以下部分的Parameters标签: 1. Basic > Clean Workspace如果您不想再次下载源代码,请选择NoneOutputs如果您要下载源代码,请选择All

答案 1 :(得分:0)

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

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

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