1

我正在将一个自制的构建系统迁移到 TFS Build,并且在获取源代码方面存在一些独特的挑战。最初代码保存在 VSS 中,为了让代码的各个层独立,每一层都有自己的标签。一个文本文件有五个标签,代表最终构建所需的内容,该文件位于“主标签”下。在构建时读取文件的每一层都使用其特定标签从 VSS 中检索,并构建了整个源代码树。

如何在各个标签下的不同文件夹中获取源代码并组装源代码以进行完整构建?

我查看了默认模板以查看如何检索代码,但不清楚在检索代码时是否可以为每个源设置条目使用不同的标签。

我的另一个想法是从主模板调用子模板,但这似乎有点矫枉过正。

在 TFS Build 中,我看到一般的想法是让构建将标签应用于所有源代码,然后进入该标签。我还看到我可以在默认模板的构建过程部分中指定一个标签。

4

1 回答 1

0

Team Build 假定所有内容都在一个标签下。但是该标签可以包含不同版本的文件夹,因此您可以创建一个包含不同版本的所有文件的主标签,而不是“主文本文件”。这是一种非常不常见的做法,但它应该有效:

tf label MasterLabel $/Project/FolderA /recursive /version:c1
tf label MasterLabel $/Project/FolderB /recursive /version:c50
tf label MasterLabel $/Project/FolderC /recursive /version:c100

只要您将标签应用到的路径不重叠,它就可以工作。

要获取源,请使用:

tf get /resursive /version:LMasterLabel

更好的方法是使用 NuGet 包打包应用程序并使用 NuGet 服务器进行依赖项管理,或者使用可选的主定义创建多个构建定义,该主定义“抓取”单个构建的所有输出。这基本上也是实验室管理模板的作用。

于 2015-05-01T08:06:31.627 回答