[原文发表地址] 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服务器,支持它的数据库提供应用程序,数据库和报告功能,而独立项目团队提供它们自己的生成和测试服务器。这个配置帮助隔离了一个生成服务器成功地生成源代码所需的依赖性,同时通过将生成过程分散到各个服务器,从而也避免了多并发消耗系统资源。
安装在每个机器上的软件:
|
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”找到控制面板里的这个程序)。
在组策略编辑器中,导航Local Computer Policy / Computer Configuration / Windows Settings / Security Settings / Local Policies / User Rights Assignment,根据文档中指示的权限进行分配。比如TFSSERVICE,TFSBUILD和TFSPROXY账户的权限是以服务权限登录:
安装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)
安装窗口如下所示:
注意:你无需安装管理工具,不过安装的话可以帮助问题诊断。另外,你也无需安装客户端工具,不过装上也是有好处的,以防你想配置别名或者网络连接时可用。
安装会根据自己的规则来为不同的选择做检测,然后提示你创建一个默认或者命名的例子。在这个例子中,选择一个默认例子。TFS可以和命名实例一起使用,不过需要手动配置。选择默认例子,TFS安装会为解析服务和报告服务做大部分的配置工作。
安装会检测硬盘空间需求,然后提示你为不同的服务提供登录信息。在这个例子中,我们对所有服务使用同样的账户,并提供一个域账户。
此外,请把SQL服务器代理服务开始类型设置为自动。TFS会使用这项服务来安排像过程解析这类的工作。
然后,安装会要求数据库引擎服务的授权模式,然后以SQLServer管理身份提示。选择Windows授权模式,添加对SQL服务器有管理权限的用户。在这个例子中,我们使用名为TFSSETUP的账户来安装管理TFS。此外,我们的DBA会通过SQLADMIN的账户来管理连接。
下一步就是解析服务的配置了。这里,你会再次收到你要有管理身份的提示,所以你只要提供相同的用户,TFSSETUP和SQLADMIN。
配置完解析服务之后,选择“安装本地模式配置(Install the native mode configuration)”选项,对报告服务进行配置。
最后,选择是否希望把SQL服务器错误报告发送给微软,然后验证配置规则并点击安装。
配置TFS
打开TFS管理操控台。点击应用层节点,点击配置安装功能的链接。选择“标准单服务器”选项,点击“启动向导”。
使用向导的一个好处就是,它会为你配置解析服务和报告服务。为SharePoint产品和SQL报告服务提供一个用户账户。文档建议使用域用户账户WSSSERVICE。
注意:标准配置安装向导会安装配置Windows SharePoint Services 3.0。TFS可以配置把SharePoint 2010作为首选,不过需要额外的手动配置步骤。如果你跟着这篇博文进行配置,请确保TFS服务器是和你SharePoint 2010开发的机器是分开的。
使用配置向导来验证所有的设置,并点击配置。如果你收到SharePoint产品的警告,它是在告诉你它会为IIS中默认的Web页面创建一个新的应用池。由于是全新的安装,所以你可以放心地忽略这个警告。
点击配置之后,向导会在你的机器上配置服务。
只要服务安装配置完成,你就能应用最近的更新了。查看可用的TFS 2010最近更新(http://social.msdn.microsoft.com/Forums/en/tfssetup/thread/79396175-af41-45d0-8e59-569af4bb2696)。在写这篇博文的时候,TFS的最近更新是Service Pack 1。
向导完成后,你会看到所有步骤的总结和配置日志的链接。
配置报告服务
安装完成后,你需要添加TFS服务账户(我们用TFSSERVICE作为账户名称),它将是SQL报告服务中的内容管理角色。以管理者身份打开IE,导航至http://tfs/Reports,进入文件夹设置。
点击文件夹设置,打开然后点击新角色分配,添加TFSSERVICE为内容管理者。
配置解析服务
安装文件也包括这个步骤,不过我们提到是为了更完整。为解析服务配置“在失败时重启”。要实现这个,打开Windows中服务控制面板,右击SQL服务器解析服务,选择属性。在恢复标签上,把每一个失败选项设置为“重启服务(Restart the Service)”。
在TFS生成机器上安装生成服务
在TFS生成机器上,安装TF生成服务。要做这个需要启动TFS安装程序,选择只在机器上安装TF生成服务。
安装完成之后,安装TFSService Pack1。
Service Pack1安装完毕之后,配置生成服务。为TFS服务器添加新的连接。
连接了TFS服务器后,选择项目集合。在这个例子中,我们使用TFS安装创建的默认集合。
下一步,配置生成代理,以便在新生成服务器上运行。
下一步,配置用户账户。默认选项使用NETWORK SERVICE,我们推荐你使用域账户,因为可以更容易的进行错误诊断。将域用户账户命名为TFSBUILD。
验证完设置,点击配置。
为TFS测试机器安装测试控制器和测试代理
在TFS测试机器上,安装TFS测试控制器。安装后,对话会提示你安装测试代理。
安装完测试控制器和测试代理后,打开测试控制器配置工具。我们会在之后的博文中深入介绍这个配置,所以现在,只要接受默认并应用设置就可以了。
配置完测试控制器后,使用配置工具配置测试代理。我们要把测试代理配置为以交互过程(interactive process)运行。
下一步就是用控制器注册测试代理,指定账户运行测试代理。在这个例子中,创建一个用户,测试用户1(TestUser1),来运行测试代理。我们会在之后的文章中告诉你如何用测试代理进行编码UI测试。
测试控制器在之前的部分已经进行了配置。在“TFS测试”机器上运行,默认在6901端口上运行。
设置完测试代理之后,向导会执行配置任务。
向导告诉我们要添加账户至本地管理者组。添加完毕之后,重新启动机器,以使设置生效。
重启后,将TFS服务包1(Service Pack 1)应用到TFS测试机器。
当你用测试用户1账户登录机器时,你会看到测试代理会以交互进程运行。
检查配置
设置完环境了,你还需要检查配置。在TFS生成服务器上,打开TFS管理控制台。在团队项目集合节点上选择组成员来添加用户作为项目集合管理者。在这个例子中,我们添加用户CHRISOBRIEN和KIRKEVANS,作为项目集合的管理者。
我们的开发用户(Kirk Evans和Chris O’Brien)是项目集合管理者。正如MSDN话题“为团队项目集合设置管理者权限”中所说的(http://msdn.microsoft.com/en-us/library/dd547204(VS.100).aspx),这些用户必须添加到页面集合管理者组和报告服务内容管理组。
在TFS服务器上创建的WSS3.0页面上,添加开发用户作为http://tfs/sites/defaultcollection页面的集合管理者。
此外,以内容管理者角色添加用户到报告服务。
注意:你可以使用TFS组成员和域组进行安全控制,不过现在,我们先简单地添加两个用户。
创建一个团队项目
在开发服务器(SPDev)上,连接到TFS服务器,创建一个新的团队项目。
创建项目,接受默认设置。这个会配置进程模板,源代码控制分支位置,和SharePoint WSS3.0团队网站。
创建Visual Studio项目
一旦团队项目创建完成,创建一个新的Visual Studio操控应用方案,并添加到源代码控制,选择团队项目在源代码控制阶级下的位置。
这个再次确认了源代码控制正按期望地运作。我们选择创建控制台应用程序是因为我们要用这个来确认我们的生成服务器运行正常。我们会在之后的文章中详细介绍生成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服务,不为参数提供值。
这些完成之后,门户显示如下:
我们检查了我们能创建一个新团队项目,在源代码控制中添加了源代码,并检查了团队项目门户起来了,也能运行。最后一步就是通过配置生成检查生成服务器的运行。-
配置生成
尽管最后的检查是配置生成,开发机器是唯一用SharePoint 2010代码的机器。因此,生成服务器不能用来生成SharePoint项目,因为缺少依赖组件。我们会在之后的博文中详讲用SharePoint 2010生成所需的依赖组件来配置生成服务器。现在,我们只要创建一个简单的类库项目来检查一下生成是否按我们所期望的运行。
创建一个名为DROPS的文件夹,赋予TFSBUILDS和TFSSERVICE读取/写入的权限。通常,你会在生成服务器上创建这个共享,不过你也可以在TFS服务器或者其他服务器上轻松地创建。
你还可以将读取的权限授权给用户。比如,你有一个开发团队所属的工作域组,你可以把阅读网络共享的权限分配给这个组。
在开发机器上,右键团队资源管理器中的生成节点选择新建生成定义。当新建生成定义提供路径来放置生成时,键入你的共享名称。现在,对所有其它的生成定义值都使用默认设置。
右键团队资源管理器中的生成定义,选择队列新生成(Queue New Build)。我们的生成服务器是用来生成的。
小贴士:一定要检查一下控制台应用程序和它的的.sln文件被签入进源代码控制里。生成控制器不能生成你的项目除非包含了源代码控制中的源代码。
打开DROPS共享位置,检查操控台应用的EXE和生成日志都在文件夹下。
总结
我们在这篇博文中做了许多配置。我们创建了一个新的TFS服务器,一个独立的生成服务器和独立的测试服务器。我们检查了报告服务功能的正确性,SharePoint门户显示报告数据,我们还检查了生成功能的正确性。在之后的博文中,我们会就这几项内容进行扩展包括:配置生成服务器,使其生成SharePoint 2010项目,自动生成部署以及配置测试作为生成进程的一部分。
了解更多信息




































