如何:针对测试和工作流集成配置服务帐户
如果使用实验室管理工具版工作流生成、部署和测试应用程序,或者只是在虚拟环境中运行自动测试或手动测试,您必须配置实验室服务帐户。 本主题描述实验室服务帐户的功能、权限和配置。 您还可以在此 Microsoft 网站上找到有关实验室服务帐户的更多信息。
本主题描述实验室服务帐户的功能、权限和配置。 您可以在此 Microsoft 网站上找到有关实验室服务帐户的更多信息。
实验室服务帐户
实验室管理工具版使用实验室服务帐户,在测试代理与测试控制器之间以及生成代理与 Team Foundation 之间通信。
提示
强烈建议使用实验室服务帐户,但不强制使用,因为您还可以在每台计算机上使用本地帐户。 但是,通过在 Team Foundation 管理控制台中配置实验室服务帐户,您不必花时间手动设置权限或将代理和控制器分配给特定服务帐户。
使用实验室服务帐户可以在任何系统帐户下运行生成、测试和实验室代理。 但是,配置实验室服务帐户时,仅向该帐户自动授予测试代理和生成代理与其控制器通信所需的最小权限集。 这些权限将允许进行以下通信:
**测试代理将能够与测试控制器通信。**在支持测试的虚拟环境中,测试代理使用实验室服务帐户与测试控制器通信。 此帐户仅用于测试代理与测试控制器之间的信道,而不用于实际运行测试代理。 测试代理继续运行测试并收集日志。 它使用您在使用测试代理配置工具时配置的帐户。
**生成代理将能够与 Team Foundation Server 通信。实验室服务帐户会自动添加到“项目集合生成服务帐户”**组中。 在支持工作流的虚拟环境中,生成代理使用实验室服务帐户与 Team Foundation 通信。 此帐户仅用于在生成代理与 Team Foundation 之间通信,而不用于运行生成代理。 生成代理使用您在使用管理控制台时配置的帐户。 确保用于运行生成代理的域帐户或系统帐户在本地计算机上拥有管理权限。
警告
配置实验室服务帐户不会自动向该帐户授予对生成放置位置的读取权限。 您必须手动将实验室服务帐户添加到可以读取生成放置位置的帐户中。
**生成代理将使用实验室服务帐户访问生成放置位置。**实验室工作流使用的生成代理所配置的权限与用于编译生成的生成代理不同。 会向用于编译源文件的生成代理授予源代码管理系统中的读取权限。 因为实验室工作流使用的生成代理不必读取源文件,所以会向这些代理显式拒绝针对项目集合中的源代码管理项目的所有权限。 实验室工作流中的生成代理仅用于执行工作流模版中指定的部署脚本。 执行每个部署脚本之前,生成代理都会使用实验室服务帐户配置其登录会话以访问放置位置。 脚本完成后,生成代理会删除该配置。
配置服务帐户
第一次配置实验室服务帐户时,您应使用 Team Foundation 管理控制台。 有关更多信息,请参见首次配置 Lab Management。 当您选择要用于实验室服务帐户的系统帐户时,请遵循以下准则:
实验室服务帐户必须为域帐户。
实验室服务帐户不应为任何计算机上的管理员安全组的成员。 虽然实验室服务帐户的帐户信息安全地存储在 Team Foundation Server 上,但是这些信息可能不会安全地存储在单个虚拟机上。
服务帐户不应为用于生成控制器、测试控制器或任何其他受信任服务的帐户。 这些服务帐户需要的权限比代理需要的权限更多。
服务帐户应具有有限的用户权限。
提示
若要降低测试或工作流功能在此帐户的密码更改时变得不可用的风险,建议您创建两个帐户以用于此服务帐户。
团队项目集合管理员应是有权更改服务帐户密码的唯一用户。
为团队项目集合配置了实验室服务帐户之后,您可以在 Team Foundation 管理控制台中,在项目集合的**“Lab Management”**选项卡下查看配置的帐户信息。 出于安全原因,建议您定期更改此服务帐户。
可以使用 Team Foundation 的管理控制台来更改服务帐户。 或者,可以使用命令行来更改服务帐户。 有关以下内容的更多信息命令行实用工具 TFSLabConfig,请参见使用 TFSLabConfig 配置 Lab Management。
使用以下过程可配置服务。
配置服务帐户以启用测试和生成工作流功能
在 Team Foundation 管理控制台中,单击**“应用层”下的“团队项目集合”**。
在右侧窗格中,从团队项目集合列表中单击相应的项目集合。
单击**“Lab Management”选项卡,然后单击“配置用户帐户”**。
若要更改服务帐户,请单击**“服务帐户”**。
在**“服务帐户”选项卡上,在“帐户名”中键入帐户的名称,在“密码”**中键入密码。
若要确保用户帐户有效,请单击**“测试”**。
单击**“确定”**。
提示
如果在更改此服务帐户时有现有环境,将不会自动更新这些环境。 测试和工作流功能可能会显示为未就绪状态。 从 Microsoft 测试管理器的“环境”视图中显示的错误消息内单击“重试”,新的用户名和密码将会更新。 功能将不会显示就绪状态。 或者,您可以使用命令行实用工具 TFSLabConfig 更新所有现有环境:TFSLabConfig UpdateServiceAccountOnDeployedEnvironments 命令。命令行实用工具不会影响当前正在运行的任何操作,如工作流或测试。
使用以下过程可在两个服务帐户之间切换。 这可以降低测试或工作流功能可能变得不可用的风险。
在两个服务帐户之间切换以降低测试或工作流功能变得不可用的风险
查找域的密码过期策略。 在此过程中,假定默认值为 42 天。
为两个帐户(Account1 和 Account2)将密码过期均设置为 42 天。
使用 Account 1 作为服务帐户。
在 21 天(过期时段的一半)后,重置 Account2 的密码。 然后,使用前面的过程将 Account2 配置为服务帐户。
您必须每隔 21 天(过期时段的一半)重复步骤 4 一次,即重置密码并将当前未使用的帐户配置为服务帐户。
配置或更新 Team Foundation 的服务帐户时,该帐户不会在每个现有环境中自动更新。 您可以选择两种方式将更新的帐户传播到现有环境:
运行命令 UpdateServiceAccountOnDeployedEnvironments,该命令会将帐户推送到项目集合中的每个环境。 有关以下内容的更多信息此命令,请参见 TFSLabConfig UpdateServiceAccountOnDeployedEnvironments 命令。
在每个环境中执行以下任意操作。
修复测试和工作流功能。
在虚拟环境中进行更改。
将环境还原为快照。
建议您使用 UpdateServiceAccountOnDeployedEnvironments 命令来更新服务帐户。 使用此命令不会影响任何环境中任何正在运行的操作,如工作流或测试运行。 使用此命令后,帐户会推送给环境,代理会应用如下所示的命令:
当前未忙于运行测试的测试代理会立即应用该命令。
正在运行测试的测试代理会在测试运行完成后应用该命令。
生成代理会在生成代理服务重新启动后应用新服务帐户。 如果修复了工作流功能、启动了环境或者还原了环境的快照,则代理服务将重新启动。