•  
  • Other
  • 用测试控制器、测试代理和创建服务器配置TFS环境(Kirk Evans)

用测试控制器、测试代理和创建服务器配置TFS环境(Kirk Evans)

Categories: Other
Tags: No Tags
Comments: No Comments
Published on: 2011 年 12 月 15 日

[原文发表地址] Configuring a TFS Environment with Test Controller, Test Agent, and Build Server (Kirk Evans)

[原文发表时间] 2011-08-11 07:53

欢迎阅读SharePoint 2010持续集成系列的第二部分。这篇文章会讨论如何配置你的TFS环境。

这个系列的博文介绍了许多新的技术,教你如何自动生成,部署生成,将测试纳入生成过程的一部分。要建立一个项目,依赖程序集必须在该计算机上。这个条件约束下,使得为SharePoint 2007和SharePoint 2010扩展项目使用同一个生成服务器就变得很困难了。你可以使用集中的Team Foundation Server(TFS)服务器和选用你的项目所需的特定生成服务器来解决这个问题。如果你想在控制环境中测试你的应用程序,TFS会实现让你用自己的测试控制器和测试代理来执行测试。

要展示这些技术,我们会为TFS环境配置一个集中TFS服务器,一个测试控制器和代理,以及Team生成服务器。

实验室环境

我们在做的实验室环境模拟了我们在那些使用TFS的公司里经常可以看到的环境。公司把现有的主导控制器,SQL服务器和SharePoint服务器都安装在不同的机器上(无论是物理机还是虚拟机)。开发在独立的机器上完成,而代码则被部署在SharePoint环境上。

我们常看到,公司提供的是分散的TFS环境。一个集中TFS服务器,支持它的数据库提供应用程序,数据库和报告功能,而独立项目团队提供它们自己的生成和测试服务器。这个配置帮助隔离了一个生成服务器成功地生成源代码所需的依赖性,同时通过将生成过程分散到各个服务器,从而也避免了多并发消耗系统资源。

clip_image001

安装在每个机器上的软件:

Machine

Software Installed

DC.SharePoint.lab

Active Directory

SQL.SharePoint.lab

SQL Server 2008 R2 Standard Edition

SPProd.SharePoint.lab

SharePoint Server 2010 Enterprise Edition

SPDev.SharePoint.lab

SQL Server 2008 R2 Developer Edition

SharePoint Server 2010 Enterprise Edition

Office 2010 Professional Plus

SharePoint Designer 2010

Visual Studio 2010 Ultimate

TFS.SharePoint.lab

SQL Server 2008 R2 Standard Edition

Team Foundation Server 2010

TFSBuild.SharePoint.lab

Visual Studio Build Agent 2010

TFSTest.SharePoint.lab

Visual Studio Test Controller 2010

Visual Studio Test Agent 2010

这篇博文将关注配置开发环境的TFS层,创建一个TFS应用服务器,并分离生成和测试代理。这要从使用单服务器拓扑结构,创建一个TFS服务器开始这方面在这里有记录, “场景:在单服务器上安装TFS”(http://msdn.microsoft.com/en-us/library/dd631899.aspx)。

安装TFS 2010

创建一个新服务器,命名为“TFS”,连入SharePoint.lab域。用于安装的账户必须是本地管理组中的成员。习惯性地,我们使用名为TFSSETUP的账户

为TFS和先决条件创建账户

除了安装账户,你还要为TFS环境配置其他账户。账户在安装文件中有详细信息,“Team Foundation组件安装所需的账户”( http://msdn.microsoft.com/en-us/library/dd578625.aspx)。根据提示操作,创建下列域账户:

Account

Description

SQLSVC

Service account for SQL Server services

WSSSERVICE

Service account for Windows SharePoint Services 3.0

TFSSERVICE

Service account for Team Foundation Server

TFSREPORTS

Report reader account

TFSBUILD

Service account for TFS Build

TFSPROXY

Proxy service for TFS

文档提示你要为账户授予额外的权限。要做这个,你要编辑本地组策略(在Windows开始菜单中,输入“Edit group policy”找到控制面板里的这个程序)。

clip_image002

在组策略编辑器中,导航Local Computer Policy / Computer Configuration / Windows Settings / Security Settings / Local Policies / User Rights Assignment,根据文档中指示的权限进行分配。比如TFSSERVICE,TFSBUILD和TFSPROXY账户的权限是以服务权限登录:

clip_image003

clip_image004

安装IIS7

TFS安装指南里的教程还是很完整的。给你的服务器添加Web服务器(IIS)角色,然后添加ASP.NET,Windows授权以及IIS6 管理兼容服务。

安装SQL服务器2008 R2

在SQL安装对话中,选择“新功能或者为现有安装添加功能”。在SQL运行了规则检查之后,安装支持安装文件。输入产品密匙,接受许可,选择SQL功能安装。你需要安装的功能包括:

· 数据库引擎服务(Database Engine Services)

· 全文本搜索(Full-Text Search)

· 解析服务(Analysis Services)

· 报告服务(Reporting Services)

· 客户端工具连接(Client Tools Connectivity)

· 管理工具—完整版(Management Tools – Complete)

安装窗口如下所示:

clip_image005

注意:你无需安装管理工具,不过安装的话可以帮助问题诊断。另外,你也无需安装客户端工具,不过装上也是有好处的,以防你想配置别名或者网络连接时可用。

安装会根据自己的规则来为不同的选择做检测,然后提示你创建一个默认或者命名的例子。在这个例子中,选择一个默认例子。TFS可以和命名实例一起使用,不过需要手动配置。选择默认例子,TFS安装会为解析服务和报告服务做大部分的配置工作。

安装会检测硬盘空间需求,然后提示你为不同的服务提供登录信息。在这个例子中,我们对所有服务使用同样的账户,并提供一个域账户。

clip_image006

此外,请把SQL服务器代理服务开始类型设置为自动。TFS会使用这项服务来安排像过程解析这类的工作。

然后,安装会要求数据库引擎服务的授权模式,然后以SQLServer管理身份提示。选择Windows授权模式,添加对SQL服务器有管理权限的用户。在这个例子中,我们使用名为TFSSETUP的账户来安装管理TFS。此外,我们的DBA会通过SQLADMIN的账户来管理连接。

clip_image007

下一步就是解析服务的配置了。这里,你会再次收到你要有管理身份的提示,所以你只要提供相同的用户,TFSSETUP和SQLADMIN。

配置完解析服务之后,选择“安装本地模式配置(Install the native mode configuration)”选项,对报告服务进行配置。

clip_image008

最后,选择是否希望把SQL服务器错误报告发送给微软,然后验证配置规则并点击安装。

配置TFS

打开TFS管理操控台。点击应用层节点,点击配置安装功能的链接。选择“标准单服务器”选项,点击“启动向导”。

使用向导的一个好处就是,它会为你配置解析服务和报告服务。为SharePoint产品和SQL报告服务提供一个用户账户。文档建议使用域用户账户WSSSERVICE。

clip_image009

注意:标准配置安装向导会安装配置Windows SharePoint Services 3.0。TFS可以配置把SharePoint 2010作为首选,不过需要额外的手动配置步骤。如果你跟着这篇博文进行配置,请确保TFS服务器是和你SharePoint 2010开发的机器是分开的。

使用配置向导来验证所有的设置,并点击配置。如果你收到SharePoint产品的警告,它是在告诉你它会为IIS中默认的Web页面创建一个新的应用池。由于是全新的安装,所以你可以放心地忽略这个警告。

clip_image010

点击配置之后,向导会在你的机器上配置服务。

只要服务安装配置完成,你就能应用最近的更新了。查看可用的TFS 2010最近更新(http://social.msdn.microsoft.com/Forums/en/tfssetup/thread/79396175-af41-45d0-8e59-569af4bb2696)。在写这篇博文的时候,TFS的最近更新是Service Pack 1。

clip_image011

向导完成后,你会看到所有步骤的总结和配置日志的链接。

clip_image012

配置报告服务

安装完成后,你需要添加TFS服务账户(我们用TFSSERVICE作为账户名称),它将是SQL报告服务中的内容管理角色。以管理者身份打开IE,导航至http://tfs/Reports,进入文件夹设置。

clip_image013

点击文件夹设置,打开然后点击新角色分配,添加TFSSERVICE为内容管理者。

clip_image014

配置解析服务

安装文件也包括这个步骤,不过我们提到是为了更完整。为解析服务配置“在失败时重启”。要实现这个,打开Windows中服务控制面板,右击SQL服务器解析服务,选择属性。在恢复标签上,把每一个失败选项设置为“重启服务(Restart the Service)”。

clip_image015

在TFS生成机器上安装生成服务

在TFS生成机器上,安装TF生成服务。要做这个需要启动TFS安装程序,选择只在机器上安装TF生成服务。

clip_image016

安装完成之后,安装TFSService Pack1。

Service Pack1安装完毕之后,配置生成服务。为TFS服务器添加新的连接。

clip_image017

连接了TFS服务器后,选择项目集合。在这个例子中,我们使用TFS安装创建的默认集合。

clip_image018

下一步,配置生成代理,以便在新生成服务器上运行。

clip_image019

下一步,配置用户账户。默认选项使用NETWORK SERVICE,我们推荐你使用域账户,因为可以更容易的进行错误诊断。将域用户账户命名为TFSBUILD。

clip_image020

验证完设置,点击配置。

clip_image021

为TFS测试机器安装测试控制器和测试代理

在TFS测试机器上,安装TFS测试控制器。安装后,对话会提示你安装测试代理。

clip_image022

安装完测试控制器和测试代理后,打开测试控制器配置工具。我们会在之后的博文中深入介绍这个配置,所以现在,只要接受默认并应用设置就可以了。

clip_image023

配置完测试控制器后,使用配置工具配置测试代理。我们要把测试代理配置为以交互过程(interactive process)运行。

clip_image024

下一步就是用控制器注册测试代理,指定账户运行测试代理。在这个例子中,创建一个用户,测试用户1(TestUser1),来运行测试代理。我们会在之后的文章中告诉你如何用测试代理进行编码UI测试。

测试控制器在之前的部分已经进行了配置。在“TFS测试”机器上运行,默认在6901端口上运行。

clip_image025

设置完测试代理之后,向导会执行配置任务。

clip_image026

向导告诉我们要添加账户至本地管理者组。添加完毕之后,重新启动机器,以使设置生效。

重启后,将TFS服务包1(Service Pack 1)应用到TFS测试机器。

当你用测试用户1账户登录机器时,你会看到测试代理会以交互进程运行。

clip_image027

检查配置

设置完环境了,你还需要检查配置。在TFS生成服务器上,打开TFS管理控制台。在团队项目集合节点上选择组成员来添加用户作为项目集合管理者。在这个例子中,我们添加用户CHRISOBRIEN和KIRKEVANS,作为项目集合的管理者。

clip_image028

我们的开发用户(Kirk Evans和Chris O’Brien)是项目集合管理者。正如MSDN话题“为团队项目集合设置管理者权限”中所说的(http://msdn.microsoft.com/en-us/library/dd547204(VS.100).aspx),这些用户必须添加到页面集合管理者组和报告服务内容管理组。

在TFS服务器上创建的WSS3.0页面上,添加开发用户作为http://tfs/sites/defaultcollection页面的集合管理者。

clip_image029

此外,以内容管理者角色添加用户到报告服务。

clip_image030

注意:你可以使用TFS组成员和域组进行安全控制,不过现在,我们先简单地添加两个用户。

创建一个团队项目

在开发服务器(SPDev)上,连接到TFS服务器,创建一个新的团队项目。

clip_image031

创建项目,接受默认设置。这个会配置进程模板,源代码控制分支位置,和SharePoint WSS3.0团队网站。

创建Visual Studio项目

一旦团队项目创建完成,创建一个新的Visual Studio操控应用方案,并添加到源代码控制,选择团队项目在源代码控制阶级下的位置。

clip_image032

这个再次确认了源代码控制正按期望地运作。我们选择创建控制台应用程序是因为我们要用这个来确认我们的生成服务器运行正常。我们会在之后的文章中详细介绍生成SharePoint项目的其他必要步骤。

检查WSS3.0项目门户

创建完Visual Studio项目后,右击Visual Studio 2010团队资源管理方框中的项目,选择“显示项目门户”以确认TFS SharePoint项目门户(WSS3.0)运行正常。

当你进入项目门户,你会看到提到rs进程中止的错误信息,而不是报告。这是因为仓库还没有建成。除了等待安排工作来建立仓库,你可以手动创建。点击下述服务末端:

http://tfs:8080/tfs/teamfoundation/administration/v3.0/warehousecontrolservice.asmx

· 调用ProcessAnalysisDatabase服务,提供完整的processingType参数。

· 调用ProcessWarehouse服务,不为参数提供值。

这些完成之后,门户显示如下:

clip_image033

我们检查了我们能创建一个新团队项目,在源代码控制中添加了源代码,并检查了团队项目门户起来了,也能运行。最后一步就是通过配置生成检查生成服务器的运行。-

配置生成

尽管最后的检查是配置生成,开发机器是唯一用SharePoint 2010代码的机器。因此,生成服务器不能用来生成SharePoint项目,因为缺少依赖组件。我们会在之后的博文中详讲用SharePoint 2010生成所需的依赖组件来配置生成服务器。现在,我们只要创建一个简单的类库项目来检查一下生成是否按我们所期望的运行。

创建一个名为DROPS的文件夹,赋予TFSBUILDS和TFSSERVICE读取/写入的权限。通常,你会在生成服务器上创建这个共享,不过你也可以在TFS服务器或者其他服务器上轻松地创建。

clip_image034

你还可以将读取的权限授权给用户。比如,你有一个开发团队所属的工作域组,你可以把阅读网络共享的权限分配给这个组。

在开发机器上,右键团队资源管理器中的生成节点选择新建生成定义。当新建生成定义提供路径来放置生成时,键入你的共享名称。现在,对所有其它的生成定义值都使用默认设置。

右键团队资源管理器中的生成定义,选择队列新生成(Queue New Build)。我们的生成服务器是用来生成的。

小贴士:一定要检查一下控制台应用程序和它的的.sln文件被签入进源代码控制里。生成控制器不能生成你的项目除非包含了源代码控制中的源代码。

clip_image035

打开DROPS共享位置,检查操控台应用的EXE和生成日志都在文件夹下。

clip_image036

总结

我们在这篇博文中做了许多配置。我们创建了一个新的TFS服务器,一个独立的生成服务器和独立的测试服务器。我们检查了报告服务功能的正确性,SharePoint门户显示报告数据,我们还检查了生成功能的正确性。在之后的博文中,我们会就这几项内容进行扩展包括:配置生成服务器,使其生成SharePoint 2010项目,自动生成部署以及配置测试作为生成进程的一部分。

了解更多信息

场景:在单服务器上安装TFS

TFS组件安装所需的账户

可用的TFS 2010最近更新

为团队项目集合设置管理者权限

如何用TFS团队生成生成SharePoint项目

使用TF生成生成Visual Studio Sharepoint项目

Share this
No Comments - Leave a comment

Leave a comment


Welcome , today is 星期四, 2012 年 02 月 23 日