作者寄语:MSDN 是最好的老师,互联网是最智慧的生命体,分享是最重要的成长途径,技术的进步在于学习、实践和创新!
微软的技术发展实在是太快,Visual Studio 2008 系列都还没用够呢,Visual Studio 2010 系列就已经出来好久了。其实笔者早在 VS2010 刚出来时就已经用上了,但是与它配套的团队协作软件 VSTS2010 一直都还没有正式使用,问及原因的话,那就要说到在使用 TFS2005 时的噩梦了。那时,我们的团队使用 VSTS2005 来升级 VSS 并顺便享用它提供的更多新式的团队协作功能,确实刚开始我们得到了很多的益处,但是某天,当我们想对服务器进行升级维护的时候问题来了,我们发现仅靠自己的能力无法对 VSTS2005 以及关联的 SharePoint 网站进行迁移,并且由于某些原因,当时我们也无法得到技术支持,经过几天痛苦的尝试后,我们还是最终确定将代码的最新版本迁移到 SVN 上去,要知道这样做的话会损失我们长期以来在 VSTS 上积累的代码版本。由于如此的痛,以致后来的 VSTS2008 我们也不敢随意上马。最近,我们团队的正好要开始一个新的产品线开发,我思来想去,查看了 MSDN 的说明并了解到了 VSTS2010 迁移的方法后,对 VSTS2010 进行了两次尝试性的部署与试用,最终决定为新的产品线团队应用 VSTS2010。
有关 VSTS2010 的部署说明在网络上虽说不多,但其内容对大多数的团队来说也是满足需求了。我写这篇文章的目的,是以我们团队的部署目标为示例,为大家展示一个在域环境中部署、配置 VSTS2010 的过程,同时也弥补网络上有关域环境部署 VSTS2010 实例的空白。也许有人会问,为什么要在域环境中部署,我的回答很简单,对于一个稍微大点的团队,并且又有很多台开发用服务器需要管理,那么使用域既可以对资源进行集中管理分配,又可以最方便的管理用户与权限。
部署条件和目标
本实例使用一台物理服务器,主要配置如下:
(1)CPU:两颗 Intel E5310 处理器,支持虚拟化技术(必须),共八个核心(核心数多点好);
(2)内存:16G;
(3)硬盘:300G。
本实例使用的这台物理服务器仅用于承载虚拟机,使用虚拟机的原因有三点:
(1)开发使用的环境对性能要求不高,并且现有物理服务器承载的虚拟机的性能已可完全满足开发的要求;
(2)开发环境变动性大且不稳定,使用虚拟机可以实现很好的扩展与管理;
(3)VSTS2010 里面配套的 Lab Management 本身也需要使用能承载虚拟机的主机。
本实例的部署目标如下图所示,是完成一台物理服务器的部署配置,以及两台虚拟机的部署配置。虚拟机域控制器服务器用于部署 Windows Server 2008 R2 域控制器并管理整个域,虚拟机团队协作服务器用于部署 VSTS2010 团队协作软件以及它所需要的数据库,物理服务器用于承载前面两台虚拟机并为 VSTS2010 Lab Management 提供后续的虚拟机支撑服务。物理服务器和虚拟机团队协作服务器都需要加入到域中。
要完成所有的安装需要以下软件系统:
(1)Windows Server 2008 R2;
(2)SQL Server 2008 SP1;
(3)Team Foundation Server 2010;
(4)System Center Virtual Machine Manager 2008 R2。
安装物理服务器
安装物理服务器的步骤这里就不赘述了,需要注意的要点如下列明:
(1)物理服务器需要安装 Windows Server 2008 R2 企业完整版操作系统,在对硬盘进行分区时最好分为系统盘和数据盘两个就行,系统盘的大小考虑到操作系统本身的大小、页面文件大小、系统更新的占用以及预留空间等,可按"20G + 内存大小"来设定;
(2)系统初次安装完成后,需要设置系统的网络地址(DNS 服务器的地址设置为之前为域控制器服务器规划好的 192.168.10.100)、计算机名称(最好不要超过15个字符,不然后面要吃苦头,笔者已经吃过一次了)、更新方式(最好是自动检查更新但由管理员决定是否下载和安装)以及开启远程登录;
(3)必须为系统添加"Hyper-V"角色,添加过程中会重启一次系统,完成添加后,需要修改 Hyper-V 服务的"虚拟硬盘"和"虚拟机"默认存放路径到数据盘(它们的默认路径在系统盘,这样会占用系统盘本来预留不多的空间),具体操作可见下图。
(4)前面的操作完成后,对系统进行一次更新。
安装域控制器服务器和团队协作服务器的虚拟机
首先,确保 Hyper-V 角色已经添加到物理服务器的系统并对它的设置进行了调整。
然后,在 Hyper-V 的管理器中添加两个虚拟机。对于域控制器服务器,使用一个 CPU 核心另加 1G 内存,硬盘大小在 20G足够了;对于团队协作服务器,最少使用两个 CPU 核心另加 4G 内存,硬盘大小不少 100G(这个配置针对中小型团队,人数在250人以下,管理的项目集在10个以下)。
两个虚拟机都使用 Windows Server 2008 R2 的企业完整版进行安装,安装完成后进行初始化设置,有关设置的要求可参见物理服务器的说明,唯一需要说明的是域控制器服务器的网络设置中 DNS 服务器的地址设置为你所在网络中的真实有效的 DNS 服务器地址,这样在配置完域控制器后,域其它的主机在进行 DNS 解析时可以将不在域范围内的名称由该服务器向上转发。
配置域控制器服务器
(1)为系统添加"Active Directory 域服务"角色,完成添加后启动 Active Directory 域服务的安装;
(2)在域服务安装向导的第一个界面,选择"使用高级模式安装";
(3)点击"下一步"按钮直到在"选择某一部署配置"对话框,选择"在新林中新建域";
(4)在"命名林根域"对话框,输入一个合法的地址,例如:example.com、development.example.com、development,请小心选择一个名称,不然以后后悔了改动起来相当麻烦;
(5)在"域 NetBIOS 名称"对话框,可以修改域的 NetBIOS 名称,但通常情况下默认下一步就可以了;
(6)在"设置林功能级别"对话框,林功能级别选择"Windows Server 2008 R2",个别在现有林或域中添加域控制器的情况,请参考微软的说明;
(7)在"其他域控制器选项"对话框,除非网络中拥有 DNS 服务器并且该服务器支持域注册,否则勾选上 DNS 服务器(建议总是为域创建 DNS 服务器),这样会为域内创建一个 DNS 服务,其它要连接到域的主机的 DNS 地址都应该设置为该域控制器的地址;
(8)在"数据库、日志文件和 SYSVOL 的位置"对话框,使用默认配置就行;
(9)在"目录服务还原模式的 Administrator 密码"对话框,为还原模式的管理员指定一个密码,当需要在计算机启动时对目录服务进行还原的话就要用到这个密码;
(10)在"摘要"对话框最后检查一下之前所做的设置是否正确,点击"下一步"让系统开始配置;
(11)完成对域控制器的安装配置,然后重启系统,届时域控制器安装配置完成;
(12)为域添加一个用户,将其设置为隶属于"Administrators"组和"Domain Admins"组,该用户作为管理员,在之后的团队协作服务器配置中使用;
(13)将物理服务器加入到域;
(14)将团队协作服务器加入到域。
(15)为后面安装和配置团队协作服务器在域中预先添加以下帐号并设置密码(用户不需求首次登录修改密码,密码永不过期):TFSREPORTS、TFSSERVICE、TFSBUILD、TFSPROXY、WSSSERVICE。
配置团队协作服务器
(1)使用域管理员登录服务器;
(2)为系统添加"Web 服务器(IIS)"角色,在"选择角色服务"对话框中勾选"ASP.NET"项目、"Windows 身份认证"项目和"IIS6 管理兼容性"项目,然后执行添加操作;
(3)点击"开始"-〉"管理工具"-〉"本地安全策略",在左边选择"本地策略"—〉"用户权限分配",再在右边的"允许本地登录"中添加 TFSREPORTS 域用户,再在右边的"作为服务登录"中添加 TFSSERVICE、TFSBUILD、TFSPROXY 三个域用户;
(4)开始安装 SQL Server 2008 SP1,点击一系列的"下一步"、安装支持文件、检查配置、输入序列号、同意许可,在"功能选择"对话框里选择必选的"数据库引擎服务"、"全文搜索"、"Analysis Services"、"Reporting Services"、"客户端工具连接"、"管理工具-基本"项目;
(5)在"实例配置"对话框中可选择使用默认实例,也可以是命名实例;
(6)在"服务器配置"对话框,选择"对所有SQL Server 服务使用相同的帐户",在账户名中输入"NT AUTHORITY\NETWORK SERVICE",密码留空;
(7)在"数据库引擎配置"对话框,选择"Windows身份验证标准样式",选择"添加当前用户";
(8)在"Analysis Services 配置"对话框,选择"添加当前用户";
(9)在"Reporting Services 配置"对话框,选择"安装本机模式默认设置",然后"下一步"直到安装完成;
(10)开始安装 VSTS2010,点击一系列的"下一步",在"选择要安装的功能"对话框勾选所有项目,然后开始安装;
(11)完成安装后点击"配置"开始配置 VSTS2010;
(12)在"配置中心"首页,选择"高级"模式开始配置;
(13)在"指定 Team Foundation 数据库"对话框,输入SQL Server服务器的名称,使用"服务器数据库标签"将有助于今后在同一个数据库服务器上承载多个 Team Foundation 实例的数据库;
(14)在"提供服务帐户和身份验证方法"对话框,选择"使用用户帐户"并填写 TFSSERVICE 域用户及其密码,身份验证方法使用"协商(Kerberos)";
(15)在"提供应用层 Web 服务的设置"对话框,设置 Team Foundation Server 的网站名称、端口以及虚拟目录,通常默认就行;
(16)在"配置 Team Foundation Server 的报告"对话框,勾选"配置用于 Team Foundation Server 的报告";
(17)在"提供 Team Foundation Server 的 Reporting Services 设置"对话框,填入Reporting Services 的服务器名称;
(18)在"提供 Team Foundation Server 的 Analysis Services 设置"对话框,填写 Analysis Services 的服务器名称;
(19)在"提供运行报表将使用的帐户"对话框,勾选"对报表读者帐户使用 Team Foundation Server 服务帐户之外的账户"选项,填写 TFSREPORTS 域帐户及其密码;
(20)在"配置用于 Team Foundation Server 的 SharePoint 产品"对话框,勾选"配置用于 Team Foundation Server 的 SharePoint"选项;
(21)在"配置运行 SharePoint 的服务器"对话框,选择"在场模式中安装 Windows SharePoint Services 3.0",勾选"对 SharePoint 场使用 Team Foundation Server 服务帐户之外的帐户",填写 WSSSERVICE 域帐户及其密码;
(22)在"请提供初始团队项目集合要使用的设置"对话框,可以勾选"创建新的团队项目集合"并填写名称和说明;
(23)完成以上操作后,配置程序会给出机会对配置项目进行汇总检查,对于可能的警告信息,查看详细结果后可断定是否可以继续;
(24)执行配置并完成;
(25)打开"Team Foundation Server 管理控制台",点击左边的"生成配置",然后再点击右边的"配置已安装的功能",在新打开的"配置中心"对话框中点击"启动配置",开始配置生成服务;
(26)点击一系列"下一步"直到"配置生成计算机"对话框(前面的步骤通常默认),选择"使用用户帐户"并填写 TFSBUILD 域帐户及其密码,端口默认就行;
(27)继续"下一步",执行检查后点击"配置"开始生成配置直到完成;
(28)安装 Team Explorer 2010,在 Team Foundation Server 2010 安装盘下找到 TeamExplorer 目录,执行里面的 setup.exe 程序;
(29)点击"下一步"直到安装完成;
(30)安装 System Center Virtual Machine Manager 2008 R2,在安装向导界面,点击"VMM 服务器"进行安装;
(31)执行一系列"下一步"直到"SQL Server 设置"对话框,选择"使用受支持的 SQL Server 版本"并填写服务器名称、SQL 实例名称,同时选择"创建新数据库";
(32)在"库共享设置"对话框,选择"创建新的库共享"并设置其名称、位置和描述;
(33)在"安装设置"对话框,所有项目使用默认值;
(34)检查完成配置后开始安装,直到安装完成;
(35)在安装向导界面,点击"VMM 管理员控制台"进行安装;
(36)执行一系列"下一步"直到开始安装完成,中间的步骤均可默认;
(37)在安装向导界面,点击"VMM 自助服务门户"进行安装;
(38)执行一系列"下一步"直到开始安装完成,中间的步骤均可默认;
(39)打开"Virtual Machine Manager 管理员控制台",执行"添加主机"操作;
(40)在弹出的向导"选择主机位置"对话框,选择"位于 Active Directory 域中的基于 Windows Server 的主机"选项,然后在下边填写管理员帐户;
(41)在"选择主机服务器"对话框,添加前面说的物理服务器;
(42)在"配置设置"对话框,将刚才选择的主机添加到预定的主机组中;
(43)在"主机属性"对话框,添加一个位于主机上的默认路径来存放虚拟机;
(44)检查主机设置,然后点击"添加主机"添加它;
(45)主机添加完成后回到"Virtual Machine Manager 管理员控制台",点击右下方的"管理",再点击"管理"选项卡内的"用户角色",再在中间操作区的"管理员"行上点击右键选择"属性";
(46)在弹出的对话框中选择"成员"选项卡,然后添加 TFSSERVICE 域帐户到该角色;
(47)打开"Team Foundation Server 管理控制台",点击左边的"Lab Management",然后再点击右边的"配置 Lab Management",如果没有显示"配置 Lab Management"则先点击上方的"刷新";
(48)在弹出对话框"Virtual Machine Manager"选项卡中填写 SCVMM 服务器名称;
(49)在"网络隔离"选项卡中为隔离网络指定一个 IP 地址范围,这个范围可以不是公共网络上存在的,同时在指定一个 DNS 后缀(通常是域名);
(50)在"高级"选项卡中指定实验室的 URL 访问地址,通常默认就行;
(51)完成以上对话框内容并"确定"后,Lab Management 就已经配置完成,之后只需要根据需要到"应用层"-〉"团队项目集合"里为需要的项目集合配置实验室就行了;
(52)至此,团队协助服务器就已经配置完成了。
总结
配置 VSTS2010 的团队协作环境是一个艰辛而复杂的过程,并且极易出错,任何一个环节有问题,可以到最后就是系统某些功能不能正常运行。本篇文章不可能把所有情况都罗列出来,所以不保证就是按照这样做了就一定可以成功,笔者的建议是:最好能先做试验,并且做好重做系统的思想准备,有经验了再正式部署,而且最好能找到有过实践的人士的现场协助。记住,没有什么事情是很容易的,笔者也是在不断的重复中爬出来的。
最后,希望有过安装配置 VSTS2010 团队协作环境的朋友可以一起来讨论,包括对它的应用。