【发布时间】:2013-09-23 12:57:34
【问题描述】:
我们有 4 个构建在同一个构建服务器上执行。它们使用相同的源代码,但使用不同的参数。每次构建时,它都会从源代码管理中下载 8 GB。 4 个构建可以使用相同的工作空间吗?
【问题讨论】:
我们有 4 个构建在同一个构建服务器上执行。它们使用相同的源代码,但使用不同的参数。每次构建时,它都会从源代码管理中下载 8 GB。 4 个构建可以使用相同的工作空间吗?
【问题讨论】:
您可以通过在共享相同源代码的所有 4 个 TFS 构建定义中更改以下设置来将代码下载位置设置为一个位置:
'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 如果您不想再次下载源代码,请选择None 或Outputs,如果您想下载源代码,请选择All。
【讨论】:
我建议不要使用同一个工作区。每个工作空间执行许多 TFS 操作(例如,清理操作)。
每个构建定义都有完整的源代码副本,但您可以采取一些措施来避免每次构建都需要下载 8GB:
$/Team/Solution/Project 未映射到 $/)。Clean Workspace 参数设置为Outputs。然后它只会下载上一个版本和下一个版本之间的更改。【讨论】: