将 Team Foundation Build 配置为增量生成
本主题介绍如何使用升级模板定义增量生成。 有关升级模板的更多信息,请参见使用升级模板定义生成。 使用默认模板可以更为轻松地执行此过程。 有关更多信息,请参见使用默认模板定义生成。
增量生成重新使用由 Team Foundation Build 维护的上一次生成的结果,以根据上次生成后所做的更改执行优化的生成。
在创建增量生成的生成定义后,运行第一个生成。 此操作将创建所需的工作区并将所有源文件获取到生成计算机上。
系统必备
在完成此任务之前,请确保符合以下条件:
对要进行自定义的生成类型的 TFSBuild.proj 文件具有访问权限。
每个团队生成定义都有一个关联的 TFSBuild.proj 文件,该文件位于 Team Foundation 版本控制中的文件夹 $/我的团队项目/TeamBuildTypes/我的生成名称 中。 MyTeamProject 是团队项目的名称, 是所有团队项目源的根节点。 我的生成名称 是为生成定义指定的名称。 有关如何创建 Team Foundation Build 生成类型的更多信息,请参见创建基本生成定义。
一个位于本地计算机上的本地工作区,其中包含团队项目文件和生成文件。
有关更多信息,请参见创建工作区并获取文件和获取团队项目的源代码。
提示
通过在“MSBuild 参数”中包括以下字符串 parameter: /p:IncrementalBuild=true,还可以在对生成进行排队时以增量方式运行生成。 有关更多信息,请参见将生成排入队列。
所需权限
若要完成此任务,必须将**“管理生成”和“管理工作区”的权限设置为“允许”。 还必须将“签入”和“签出”权限设置为“允许”**。 有关更多信息,请参见 Team Foundation Server 权限。
获取 TFSBuild.proj 文件的本地副本
在更改用于定义生成定义的 TFSBuild.proj 文件之前,必须先获取一个本地副本。
获取 TFSBuild.proj 文件的本地副本
在**“视图”菜单上选择“其他窗口”,然后选择“源代码管理资源管理器”**。
在“源代码管理资源管理器”中单击工具栏上的**“工作区”**,然后从列表中选择您的工作区。
打开包含生成类型的团队项目文件夹,然后展开**“TeamBuildTypes”**文件夹。
右击 TFSBuild.proj 文件,然后选择**“获取最新版本”**以复制文件的最新版本。
有关更多信息,请参见获取团队项目的源代码。
设置 TFSBuild.proj 文件中的属性
若要指定增量生成,必须设置 TFSBuild.proj 文件中的 IncrementalBuild 属性。
设置 TFSBuild.proj 文件中的属性
使用 IncrementalBuild 属性,可以很方便将 SkipClean 设置为 true、将 SkipInitializeWorkspace 设置为 true 以及将 ForceGet 设置为 false。
Team Foundation Build 在执行完整生成时将清除 Clean 目标中的中间生成文件夹和源文件夹内的文件。 在增量生成中必须跳过此目标,因为这些文件必须保持不变以用于下一次生成。 为此,请将 SkipClean 设置为 true。
作为完整生成的一部分,Team Foundation Build 将删除旧工作区并重新创建新的工作区,以清除并同步源文件。 在增量生成中也必须跳过此目标。 为此,请将 SkipInitializeWorkspace 设置为 true。
在 Get 任务中,Team Foundation Build 默认情况下检索新的源文件并覆盖生成工作区中的现有文件。 若要检索更改的文件,请将属性 ForceGet 设置为 false。
若要将 IncrementalBuild 属性设置为 true,请将 PropertyGroup 定义添加到 TFSBuild.proj 文件的末尾、结束 </project> 标记之前。
<PropertyGroup> <IncrementalBuild>true</IncrementalBuild> </PropertyGroup>