如何:创建生成定义
更新:2007 年 11 月
Team Foundation Build 使用生成定义来配置将在团队项目中生成单个解决方案或一组解决方案的条件。若要完成生成,必须创建新生成定义或使用现有的生成定义。
使用“生成定义”对话框创建生成定义时,可以设置多个选项。这些选项包括生成名称、要生成的文件的源代码管理工作区、TFSBuild.proj 项目文件的位置、生成代理、生成保留策略以及生成触发器。如果没有现有 MSBuild 项目文件,可以使用“生成定义”对话框来启动“MSBuild 项目文件创建向导”,以便为生成定义创建新的 TFSBuild.proj 文件。您也可以启动“生成代理属性”对话框来创建新的生成代理。
创建新的生成定义后,可以更改这些选项。有关更多信息,请参见如何:编辑生成定义。
可以通过编辑以 MSBuild 格式编写的 TFSBuild.proj 文件来自定义生成定义。有关更多信息,请参见自定义 Team Foundation Build。
通过首先删除与生成定义相关联的生成,便可将该生成定义移除。然后,可以将该生成定义本身删除。有关更多信息,请参见如何:删除生成定义。
必需的权限
若要执行此过程,您的“管理生成”权限必须设置为“允许”。另外,应用层服务帐户和 Team Foundation Build 服务帐户必须具有对生成放置位置的读/写权限。有关更多信息,请参见 Team Foundation Server 权限。
创建新的生成定义
在团队资源管理器中,选择要创建新的生成定义的项目。
在“生成”菜单上选择“新建生成定义”。
“生成定义”对话框出现,其中选择了“常规”选项卡。
提示: 旁边带有警告图标的选项卡需要用户输入。
在“生成定义名称”文本框中指定要与生成定义相关联的名称。
输入的名称必须是唯一的有效 Windows 文件名。
在“说明”文本框中添加相应的说明。
该说明出现在“将生成‘<团队项目名称>’排队”对话框中。有关更多信息,请参见如何:启动生成定义或对其进行排队。
单击“工作区”选项卡。
默认情况下,“工作文件夹”表包括要创建新生成定义的团队项目的源代码管理文件夹和生成代理上的本地文件夹。生成代理上的本地文件夹在“本地文件夹”列中列出。生成代理上的所有工作区路径都相对于所显示的默认根目录进行映射。
若要将现有的工作区复制到工作文件夹列表中,请单击“复制现有工作区”按钮以启动“选择工作区”对话框。
所选的工作区将成为生成代理上的通用根目录的子目录。
您也可以单击“源代码管理文件夹”中的空表单元格,然后单击省略号 (…) 来浏览到要作为工作文件夹添加的源代码管理文件夹。所选的源代码管理文件夹也会进行规范化,而成为生成代理上的通用根目录。
单击“项目文件”选项卡。在“项目文件”窗格上,可以浏览到现有的 TFSBuild.proj 项目文件,或者启动“MSBuild 项目文件创建向导”来创建新的 TFSBuild.proj 文件。
若要浏览到现有的 TFSBuild.proj 文件,请单击“浏览”。在“浏览文件夹”对话框中,从“TeamBuildTypes”文件夹中选择现有的生成定义,然后单击“确定”。
现在,TFSBuild.proj 文件便在现有的生成定义和新的生成定义之间共享。
如果找到了 TFSBuild.proj 文件,则“项目文件”窗格上将显示文本“发现 MSBuild 项目文件: TFSBuild.proj”。如果未找到项目文件,则“项目文件”窗格将显示警告文本,并建议您创建新的 MSBuild 项目文件。
重要说明: 对共享 TFSBuild.proj 文件进行的任何更改都会自定义与该文件相关联的所有生成定义。有关更多信息,请参见自定义 Team Foundation Build。
若要为生成定义创建新的项目文件,请单击“创建”。随即出现“MSBuild 项目文件创建向导”。
在“选择要生成的解决方案并进行排序”页上,选择要生成的解决方案。若要对解决方案进行排序,请选择一个解决方案,然后使用列表右侧的箭头键来更改其在生成顺序中的位置。
警告: 确定解决方案的生成顺序时,请注意在其他解决方案上有依赖项的解决方案。例如,如果解决方案 1 上有解决方案 2 的依赖项,则设置在解决方案 2 之前生成解决方案 1。
单击“下一步”。
随即出现“选择要生成的配置”页。
在“要按哪些配置生成”下的网格中,选择要包括在生成定义中的所需配置和平台。生成配置指示配置和平台,例如 Release 和 Any CPU。
说明: 如果要创建 Web 项目的生成定义,请选择“平台”下拉菜单中的“混合平台”。
单击“下一步”。
随即出现“选择生成选项”页。
根据需要选中“运行测试(例如,运行 BVT 等)”和“运行代码分析”复选框来指示要启用的生成选项。如果选中“运行测试(例如,运行 BVT 等)”复选框,请使用下拉选项根据需要指定“测试元数据文件”和“要运行的测试列表”。
重要说明: 若要运行测试,生成代理上必须安装 Team Edition for Testers。若要运行代码分析,生成代理上必须安装 Team Edition for Developers。
单击“完成”。
随即出现“生成定义”对话框的“项目文件”窗格。创建的 TFSBuild.proj 文件存储在源代码管理中的 $<团队项目>\TeamBuild Types\<生成定义名称>\TFSBuild.proj 下。
单击“保留策略”选项卡。在“指定应如何保留生成”列表中,可以为失败的、已停止的、部分成功的或完全成功的生成选择保留策略。从下拉列表中选择一个保留策略。如果选择“<指定要保留的数量>”,则出现“生成数”对话框。在“指定要保留的生成数”文本框中,指示要为指定的生成结果保留的生成数目。
单击“生成默认值”选项卡。在“生成默认值”窗格中,可以从“生成代理”下拉列表中选择现有的生成代理。如果当前不存在任何生成代理,或者希望创建新的生成代理,请单击“新建”。随即出现“生成代理属性”对话框。填写“显示名称”、“说明”和“计算机名称”文本框,然后单击“确定”。有关更多信息,请参见如何:创建和管理生成代理。
在“生成将临时存放到以下存储(例如 \\server\share)”文本框中键入 UNC (\\server\share) 位置。生成完成后,生成的二进制文件和日志文件将位于此文件夹中。
说明: 完成此步骤之前,您必须已在生成代理计算机上创建了一个公共文件夹,其中 TFSService 帐户具有完全权限。有关 Team Foundation 服务帐户的更多信息,请参见如何:查看 Team Foundation Server 服务。
单击“触发器”选项卡。
在“触发器”窗格上,选择“签入不触发新生成”,以便仅按需生成。
选中“生成每个签入(生成较多)”,每次将更改签入到生成定义生成的文件中时连续生成。
选中“聚合签入,直到上一个生成完成(生成较少)”创建滚动生成。如果选中“聚合签入,直到上一个生成完成(生成较少)”复选框,则可以通过选中“生成频率不超过”复选框并在“分钟”文本框中输入数字指示生成的发生频率。
“分钟”文本框的有效范围是 0 到 2147483647 (Int32 MaxValue)。
说明: 如果使用的是带 Service Pack 1 的 Visual Studio Team System 2008 Team Foundation Server,则可以将滚动生成间隔设置为 120 到 240 分钟。如果使用的是不带 Service Pack 1 的 Visual Studio Team System 2008 Team Foundation Server,则 Team Foundation Build 忽略该范围中的任何值。
选择“在每周的以下日子生成”以创建预定生成。通过为一周中的每一天提供的复选框来选择要执行生成操作的每一天。在“将此生成排在默认生成代理的以下位置”文本框中输入生成时间。
说明: 如果自上次生成之后未签入任何更改,则不会发生预定的生成。
填入所有必需的信息之后,单击“确定”创建生成定义。
创建的生成定义显示在团队资源管理器中的“生成”文件夹中。若要查看服务器上存储的有关生成定义的信息,请右击团队资源管理器中的生成定义,再单击“编辑生成定义”。出现“生成定义”对话框,其中填写了您输入的信息。您也可以在此处更改所输入的信息。有关更多信息,请参见如何:编辑生成定义。
重要说明: 如果您的生成定义与另一个生成共享 TFSBuild.proj 文件,则您的生成定义以及相关联的文件不会显示在源代码管理资源管理器中的“TeamBuildTypes”文件夹下。此处只列出初始的生成定义。
请参见
任务
演练:在 Team Foundation Build 中创建生成定义
如何:为 Team Foundation Build 代理设置权限
演练:通过自定义任务自定义 Team Foundation Build