管理团队项目集合
当 Team Foundation Server (TFS) 承载多个团队项目时,可以通过将它们分组在一起并向它们分配相同的资源来更有效地管理它们。 例如,可以将具有类似要求或目标的项目分为一组,例如,访问特定基本代码的所有团队项目。 然后,可以将团队项目组作为具有其自己的用户组、服务器资源和维护计划的自治资源进行管理。
团队项目组称为“团队项目集合”。 安装 TFS 时,将创建默认集合来包含所有团队项目。 创建集合时,应指定此集合中的团队项目可使用的逻辑和物理资源。 这些团队项目使用的所有项目和数据存储在集合的一个数据库中。
下图演示团队项目集合的数据库如何与 TFS 的逻辑体系结构集成。 创建团队项目时,可指定存储其数据的集合。
查看信息或配置现有团队项目集合
如果尚未将你添加为 TFS 管理员,请立即添加。
你必须是要在其中打开控制台的服务器上本地 Administrators 组的成员和 Team Foundation Administrators 组的成员,或**“编辑服务器级别信息”权限必须设置为“允许”**。
登录 TFS 的应用层服务器,打开 TFS 的管理控制台,然后打开团队项目集合节点。
若要了解如何打开管理控制台,请参阅使用 Team Foundation 管理控制台配置和管理部署。
突出显示集合的名称,然后查看从各个选项卡提供的信息。 仅当对应的应用程序已配置为支持 TFS 部署中的应用层时,才显示某些选项卡。
可以从对应选项卡执行以下任务。
Tab
任务
常规
“启动集合”或“停止集合”:启动或停止集合。 停止集合时,团队项目会变为不可用状态。 通常可停止集合以支持维护操作,如移动或拆分集合。
如果集合已启动,则只显示“停止集合”。 如果集合已停止,则只显示“启动集合”。 启动或停止集合可能需要几分钟才能完成。 您可能需要选择“刷新”才会显示状态更改。
编辑设置:编辑集合的说明或配置。
组成员身份:将用户或组作为集合的成员进行添加或移除。 若要了解更多信息,请参见 设置对团队项目集合的管理员权限。
管理安全性:管理集合组的权限。 若要了解更多信息,请参见 Team Foundation Server 权限参考。
状态
查看活动日志或重新运行作业。
团队项目
查看为集合和 删除团队项目 定义的团队项目。
若要了解有关团队项目的详细信息,请参阅创建团队项目。
“报表”文件夹
配置报表服务器以供集合使用。
编辑默认文件夹位置时,如果键入的文件夹路径不存在于服务器上,并且你没有在该服务器上创建文件夹的权限,则此操作会失败。 如果您没有在该服务器上创建文件夹的权限,则必须指定现有文件夹。
若要移除报表子文件夹的默认位置,请选择“清除配置”。
移除配置会移除集合中所有现有和将来团队项目的报告功能。
仅当将报表服务器添加到了 TFS 时,才显示此选项卡。
SharePoint 网站
查看、配置或移除在其中创建团队项目门户的默认根位置。 “新建团队项目向导”会在此位置创建团队项目门户。
如果“SharePoint Web 应用程序”列表为空,则应用层尚未使用任何应用程序进行配置。
仅当使用 SharePoint 产品配置了应用层时,才会显示此选项卡。 请参阅将 SharePoint 产品添加到部署。
创建团队项目集合
创建团队项目集合之前,跳转到此部分以了解有关创建多个团队项目集合的优缺点的详细信息。
如果尚未将你作为管理员添加到 TFS,请立即添加。
你必须是要在其中打开控制台的服务器上本地 Administrators 组的成员和 Team Foundation Administrators 组的成员,或**“编辑服务器级别信息”权限必须设置为“允许”**。
从管理控制台中,打开**“团队项目集合”页面,然后选择“创建集合”**。
按照**“创建团队项目集合”**向导提供的指导执行。
对于**“名称”**,指定不超过 64 个字符(越短越好)的唯一名称,不要指定斜杠或 Team Foundation 中的命名限制中列出的其他特殊字符。
该向导支持以下资源的配置。 仅当承载集合的应用层服务器以前已配置为支持对应的应用程序时,才能配置某些资源。
数据层或 SQL Server 实例
在**“SQL Server 实例”**中,指定 TFS 数据层服务器的名称。 如果要使用指定的实例来承载此团队项目集合的数据库,还必须按下例所示指定该实例的名称:
ServerName**\**InstanceName
如果要为集合创建数据库,请选择**“为此集合创建新的数据库”**。 此选项要求 Visual Studio Team Foundation 后台作业代理的服务帐户有权在 SQL Server 实例上创建数据库。
或者,如果要使用已存在的数据库,请选择**“使用此现有数据库”**,并在文本框中指定数据库的名称。 此选项要求在命名 SQL Server 实例上存在空数据库,并且你拥有写入权限。
SharePoint Web 应用程序
如果使用 SharePoint Web 应用程序配置了应用层,则**“SharePoint Web 应用程序”**会显示,否则处于禁用状态。 若要在以后配置它,请参阅将 SharePoint 产品添加到部署。
如果要使用默认选项创建网站集,请选择**“下一步”**。 除非业务基础结构要求使用现有网站集,否则请选择此选项。 此选项会创建一个 SharePoint 网站集,并且集合的名称将用作 SharePoint Web 应用程序中配置的根网站的子网站的名称。
此选项要求 TFS 服务帐户是 Farm Administrators 组的成员。 如果不是,则无法创建网站集。
或者,若要使用 Farm Administrators 组的成员为你创建的现有网站集,请展开**“高级配置”,选择“指定现有 SharePoint 网站的路径”**,然后指定已为你创建的网站集的相对路径。
选择**“验证路径”,如果该路径是正确的,请选择“下一步”**。
SQL Server Reporting Services
如果将应用层配置为使用 SQL Server Reporting Services,则**“报表”**会显示,否则处于禁用状态。 若要在以后配置它,请参阅添加报表服务器。
查看承载报表服务器和文件夹的信息,然后选择**“下一步”**。 此选项要求用户帐户有权在运行 Reporting Services 的服务器上创建文件夹。
除非您的业务基础结构中的安全限制禁止将自动创建文件夹作为向导的一部分,否则应使用默认选项来创建文件夹。
如果必须使用管理员在运行 Reporting Services 的服务器上为你创建的文件夹,请展开**“高级配置”,选择“指定现有文件夹的路径”**,然后指定已为你创建的文件夹的相对路径。
选择**“验证路径”,如果该路径是正确的,请选择“下一步”**。
实验室管理
如果将应用层配置为将 实验室管理 用于集合,则**“实验室管理工具版”**会显示,否则会处于禁用状态。 若要在以后配置它,请参阅为 SCVMM 环境配置 Lab Management。
如果不使用实验室管理工具版,请跳到验证过程。
如果使用实验室管理工具版,请执行为 SCVMM 环境配置 Lab Management介绍的为每个团队项目集合配置实验室管理工具版中提供的步骤。
验证过程
在**“就绪检查”**中,查看检查的状态。
一个带下划线的蓝色**“错误”**指示器将显示在任何包含错误的配置旁。 可选择该指示器来查看有关该问题的详细消息。 必须解决所有错误才能继续。
在所有就绪检查都通过后,选择**“创建”**。
这将启动创建团队项目集合的过程。
该向导完成后,选择**“关闭”**。
分离或删除团队项目集合
要执行维护操作(如移动或拆分集合)时,可以分离团队项目集合。 分离集合时,团队无法访问团队项目或源代码。
不再需要集合中定义的团队项目中存储的数据时,可删除集合。 用于删除集合的三个步骤是 (1) 分离集合、(2) 删除集合数据库以及 (3) 删除为删除的集合提供支持的 SharePoint 网站集。
分离集合
从管理控制台中,突出显示要删除的集合的名称,然后选择**“分离集合”**。
按照**“分离团队项目集合向导”**提供的指导执行。
(可选)在**“提供团队项目集合的维护消息”页的“维护消息”**中,为可能尝试连接到此集合中项目的用户指定消息。
当所有就绪检查都成功完成时,请选择**“分离”**。
当所有过程都已完成时,在**“监视团队项目集合分离进度”页中,选择“下一步”**。
(可选)在**“查看此团队项目集合的补充信息”**页中,记下日志文件的位置。
删除数据库和 SharePoint 网站集
打开 SQL Server Management Studio,连接到承载集合数据库的 SQL Server 数据库引擎实例,然后展开该实例。
突出显示集合数据库的名称(默认为 TFS_CollectionName),然后删除该数据库。
有关详细信息,请参阅如何:删除数据库。
打开 SharePoint 管理中心,删除支持所删除集合的网站集。
有关详细信息,请参阅在 SharePoint 2013 中删除网站集。
团队项目集合不再显示在管理控制台中的集合列表中。
问题解答
问:创建多个团队项目集合的优缺点有哪些?
如果开发工作可受益于能够对代码进行分支和合并,或者必须查询与相同代码相关的工作项的状态,则应将团队项目合并在同一个团队项目集合中。
答:创建多个集合的优点
可以更好地将针对一个基本代码或其他项目分组的运行需求与针对其他分组的运行需求分离开来。 由于每个集合的数据存储在其自己的数据库中,因此,您可以独立于部署中的其他集合来管理每个集合的诸多方面。 例如,您可以单独停止和启动每个集合。 因此,您可以将每个集合的维护操作安排在不同时间。
将团队项目分组为多个集合可提供以下优点:
提高管理和分发数据库和资源时的灵活性和可伸缩性。 一组相关团队项目可共享报表、工作项、过程指南和基本代码。
通过为每个集合创建数据库,团队和管理员可以执行以下任务:
根据集合中项目的需求对自治基本代码进行生成、分支、合并和迭代。 可以正式管理集合外部的代码依赖项。
独立于其他集合为每个集合备份和还原数据。
将所有集合数据库都存储在 SQL Server 的单个实例上,或在一个或多个实例间分发数据库。
分离集合,进行备份,然后将它还原到不同的 TFS 部署。
重新分配资源以便在项目大小随着时间推移而增大时更好地满足项目的需求。
提高操作安全性。 因为每个集合都具有自己的用户和权限集,所以可以在不同集合下隔离隔离不同基本代码。 管理员可以将用户只添加到与此特定基本代码相关的项目所在的集合中。
提高支持自定义工作流过程的能力。 每个集合都管理独立于其他集合的过程模板、工作项类型、链接类型、全局列表和工作项字段。 通过将具有不同工作流过程的团队项目分为不同集合,可仅公开集合中的这些团队项目所需的自定义。
答:创建多个集合的缺点
创建多个团队项目集合的主要缺点是提高了 TFS 部署的复杂性。
必须备份和还原每个集合的数据库,同时,其他管理和维护任务也会根据你拥有的集合数成比例增加。 例如,必须单独管理每个团队项目集合的用户集和权限集。
团队无法跨集合链接工作项。
团队无法跨集合分支或合并代码。
团队无法跨集合创建查询。
问:在集合级别管理哪些对象或资源?
**答:**每个团队项目都属于一个集合。 此外,还会在集合级别管理以下对象:
源代码管理 (TFVC):文件类型和在服务器工作区中启用/禁用异步签出。
工作项跟踪:过程模板、工作项类型、链接类型、工作项字段、全局列表和全局工作流。
为集合中定义的所有团队项目定义的所有字段都针对集合进行配置或管理。 可在同一个团队项目集合中定义不超过 1,024 个的工作项字段,并可在所有团队项目集合中将不超过 1,024 个的字段设置为可报告。
开发-测试-操作:生成控制器和实验室管理工具版资源(来自 SCVMM 的主机组和库共享)
问:TFS 如何支持来自为不同团队集合存储的数据的报表?
**答:**单个关系数据仓库包括来自所有团队项目的所有可报告数据,这些团队项目都是针对 TFS 部署在所有项目集合中定义的。 之后将处理该仓库中的数据,并将其写入 OLAP 多维数据集。 由于数据已收集到单个数据仓库中,因此你可以跨多个团队项目集合进行报告。
若要创建或自定义报表,必须将用户帐户添加到 TfsWarehouseDataReader 角色。 报表作者需要针对关系数据仓库和 Analysis Services 多维数据集的读取访问权限。 这些帐户可以查看在 TFS 部署中的所有团队项目集合中承载的所有团队项目的数据。 无法限制对团队项目或集合的访问。
问:如何使用集合扩展我的部署?
问:是否有用于管理集合的命令行工具?
答:可以使用TFSConfig Collection 命令附加、分离、删除或克隆团队项目集合。 请参阅Collection 命令 [TFSConfig]。