我们有 4 个构建在同一个构建服务器上执行。它们使用相同的源代码,但使用不同的参数。每次构建时,它都会从源代码管理中下载 8 GB。4 个构建可以使用相同的工作空间吗?
问问题
331 次
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 回答