安装
TFS:Visual Studio 2010Team Foundation Server
1.1. TFS安装方案:
TFS针对不同的应用环境提供了7种安装方案,在我们实际的应用中最常用的莫过于:单服务器上安装TFS。鉴于这种很常用,所以只介绍这种方案的安装方法。
1.2. TFS安装环境:
内存:2G以上
处理器:2.4GHZ以上
系统:windows2003 windows2008
1.3. TFS安装组件:
IIS 6 或者 IIS7 (安装参照:TFS环境搭建--IIS安装)
要求:
1、验证 IIS 是否未使用 IIS 5.0 隔离模式
2、验证 IIS 是否未使用 FrontPage 2002 Server Extensions
3、验证 IIS 是否使用 ASP.NET
SQL Server 2008 (安装参照:TFS环境搭建--MSSQL2008安装)
1、使用 SQL Server 配置管理器验证 Windows 服务是否正在运行
2、使用 SQL Server Management Studio 验证与 SQL Server 实例的连接
SharPoint (安装参照:TFS环境搭建--SharPoint安装)
1、验证管理站点和默认网站是否正在运行,并且网络上的其他计算机能够访问它们
2、验证默认网站是否使用建议的身份验证
3、验证新安装的 SharePoint 产品是否有 Web 应用程序
4、验证是否针对面板兼容性配置了 Microsoft Office SharePoint Server 2007
1.4. TFS安装:
Microsoft Team Foundation Server 2010安装
源代码管理资源管理器
1.5. TFS配置:
使用标准配置
1、单击"标准单一服务器",然后单击"启动向导"。此时将出现"Team Foundation Server 标准配置"向导。
2、阅读"欢迎"屏幕,然后单击"下一步"。
3、在"用户帐户"中,键入要用于 的服务帐户 (WSSSERVICE) 的名称。
此帐户也用作报表读者帐户来创建报表 (TFSREPORTS)。
在"密码"中,键入此服务帐户的密码,然后单击"下一步"。
4、检查信息,然后单击"下一步"。
5、向导将验证您的配置。
6、单击"配置"。
7、向导将应用配置设置。
8、单击"下一步"。
9、单击"关闭"。
10、单击"关闭"。
1.6. 注意事项
对于服务器的机器名,必须在安装TFS前完成修改,否则当完成安装后如果修改计算机名会导致TFS若干服务无法正常运行。
如果安装TFS前,报表服务与SharePoint没有正常安装,则TFS不会帮你自动配置这些服务的关联,后续使用手工配置将会很复杂,且成功率很低。
在服务器端安装VS2010是为了当完成TFS安装后可以使用其客户端进行配置,而且具有最高权限。
服务器从裸机到安装好TFS估计需要3-5小时。
管理
2.1. 项目结构
TFS对于项目的管理有一个叫作项目集的概念,即可以创建一个集合,这个集合下可以创建相关的项目。
应用场景有:
1、 企业可以根据每个项目组创建一个项目集,每个项目组的项目在自己的项目集下。
2、 一个大项目下包含若干小项目的管理方式。
2.2. 创建、删除项目
打开VS2010的团队管理器,点击项目集右键,如图操作。
然后根据向导,填入项目名、是否创建门户网站、是否使用新的源代码管理器等等内容即可,最后TFS会自动帮你创建所设置的项目。
若要删除项目管理,打开VS2010团队资源管理器,选择项目后右键,如图操作:
注意:这里删除的项目信息并不会自动删除门户网站,需要手工进行删除,删除的方式见后续章节。
2.3. 权限配置
2.3.1. 权限说明
2.3.1.1. 权限关联
TFS的权限与操作系统的用户或域是关联管理的,TFS是支持数据库账户、操作系统账户和域账户的权限管理。一般在20人以下使用的TFS,建议直接使用操作系统的账户比较方便和简单。当超过20人或以上的团队,建议使用与域账户关联的方式。
2.3.1.2. TFS权限结构
TFS的权限结构是根据项目集、项目、内容进行分级管理的。下层可以覆盖上层的权限配置。
2.3.1.3. 权限组
TFS在每个权限层都有默认的组,可以对现有的组进行修改或者新建自己的组。
在项目集下默认有如下组:
在每个项目下默认有如下组:
每个权限组可以包括不同的成员,具有不同的操作权限。
2.3.2. 项目权限配置
项目的权限配置包括了项目级、源代码、区域、团队查询、生成的权限控制。
项目级的权限控制,只是用于控制用户是否对本项目的访问权限,同理项目集也一样。有项目级的访问权限不代表具有源代码、区域等的权限,需要一一配置,不过TFS会默认生成4个权限组,对应不同的内容也有默认的配置,一般来说只需要配置这些组的成员即可。
以适应默认权限组,添加成员为例:
点击VS2010团队项目管理器,右键团队项目,如图操作:
弹出如下对话框,选择参与者点击属性:
在如下对话框,选择从windows用户或组添加,在新的弹出框输入之前在系统创建的用户名即可。
注意:为了简单配置,在操作系统创建参与TFS管理的所有人的账户,以后每个用户就根据当前操作系统的用户名/密码作为登录TFS的凭证。
操作完成后,所配置的用户可以正常访问TFS并进行相关工作。默认的四个组中,均具有不同的权限,例如访问者是具有最少的权限,所在当前组的用户则具有最少的权限,管理员组则具有最高权限。
当一个用户既属于管理员组,又属于访问组时,当前用户则具有管理员加访问者的所有权限。
如果需要细致权限分配,可以创建自己的用户组进行管理。但新创建的用户组需要到源代码、区域、团队查询、生成等几个层次分别进行权限分配,再加入其成员即可。
源代码的权限,可以根据目录进行权限划分。
区域的权限,主要是对工作项内容进行控制的,例如能否创建工作项,能否关闭任务等等。
团队查询,主要是控制一些已定制的查询信息的权限。
生成,主要对生成操作进行权限控制。
2.3.3. 报表服务权限配置
报表服务的权限独立与TFS的项目管理权限,其设置方法如下:
打开报表配置管理器,选择报表管理器URL选项卡,点击其URL进入如下网站:
点选TfsReports进入子目录,此时选择你需要配置权限的项目集,然后再选择项目,进入到子目录。如图:
然后点几击属性:
再点击安全性后,点击新建角色分配,如图:
出现以下页面:
组或用户名必须输入当前操作系统下的组名或用户名,权限的内容根据实际情况进行勾选,最后点击确定按钮提交完成操作。
2.3.4. 门户网站权限配置
TFS的门户网站的权限也是独立与TFS项目的权限,需要另外设置。设置方法如下:
在服务器的VS2010的团队资源管理中选择项目集下的项目,右键选择显示项目门户网站,出现如下站点:
点击红色圈中的链接—网站操作,在下拉框中选择网站设置,出现下图页面。
选择人员和组,出现下图页面。
点击新建按钮,出现新增用户页面。
用户/用户组,必须填写本操作系统中的用户或组,输入完毕后可以点击检查名称进行确认。权限的授予则根据实际情况进行勾选,最后点击确定完成操作。
2.4. 工作项管理
TFS中的工作项一旦创建了,则不可删除。其主要考虑应该是微软觉得既然有计划要新增工作项就一定是存在的,可以提供修改,但不再UI页面提供删除的方法。如果确实是需要删除工作项,可以使用命令行的方式删除。操作如下:
进入命令行模式,如图:
输入命令:
CollectionName:所在项目集的名称,需要带http与端口。
IDNum:要删除的ID序号。
3. 模板定制
3.1. 方法
TFS支持工作项、过程模板的自定义。这里推荐一个辅助工具Microsoft Team Foundation Server 2010 Power Tools。安装后,可以直接从服务器中导出模板定义文件,保存后则直接导入到TFS服务器。如果不使用工具可以通过命令行的方式进行操作(不推荐)。
安装完Microsoft Team Foundation Server 2010 Power Tools后,在VS的工具下多了此功能:
3.2. 工作项
定制工作项,可以定制BUG、任务等,或者新建一个工作项。本文以修改默认的任务工作项为例说明如何操作。
使用Microsoft Team Foundation Server 2010 Power Tools,如图操作:
弹出选择类型的对话框,选择项目集、项目、类型后弹出如图界面:
Fields是定义任务工作项出现的字段。
Layout是定义创建工作项弹出的对话框的字段布局。
Workflow是定义工作项状态变化和操作的工作流。
3.2.1. 字段定义
模板可以添加新的字段定义,字段的信息可以使用工具给出引用:
根据实际需要,从Work Item Field Explorer选择需要添加的自定定义即可。
3.2.2. 布局修改
模板可以定义窗口中个字段的位置,还可以使用预览功能检查。
在指定的位置新建一个control,然后在属性窗口选择FiledName和Type,如图:
这里可以选择刚刚在上一步导入的新类型或者已有的类型,Type指定的是control的类型,可以是下拉框、日期选择或文本等等。
3.2.3. 工作流修改
模板还允许定制工作流,可以通过VS的设计器与工具箱的控件进行修改。
3.3. 字段映射
在TFS导出到Project文件中,可以定制TFS的字段与Peoject的字段进行映射关联,操作如下:
下载映射文件:
项目集名称、项目名称根据实际情况输入,映射文件名称可自定义。
当下载完成后,使用编辑器打开XML,如图:
自己可添加一条记录,对应Work Item Field Explorer中的字段属性,与project中的字段即可。
完成修改后使用指令上传到TFS:
TFS使用指南
1. 项目计划与跟踪
经常有很多朋友在日常聊天中抱怨做计划很无畏,因为计划永远赶不上变化。确实如此,计划是赶不上变化,但你不计划,你永远不知道自己应该要做什么,什么时候做,虽然发生了变化,但是你可以根据原有的计划定制事情变化的解决方案与变化的定位,而控制变化的演变。
1.1. 使用Project制定项目计划
新建一个Project文件,或者打开TFS团队资源管理器中对话框中的项目-文档-项目管理-开发项目计划.xlsx文件。此时打开的文件均为一个空的Project文件,可以在此文件中进行计划规划。
选择Project的团队选项卡,点击选择团队项目,如图:
然后再弹出的对话框中选择所需要发布的项目,确认后Project会默认加入TFS相关的标题字段以及功能选项。
现在要做的工作就是在Project中指定你的项目计划,操作与平常一样。大致如下:
Step1:制定迭代计划以及本次迭代的大方向工作计划。
Step2:列出本次迭代的所有工作内容,排列优先级以及依赖关系。
Step3:预估每个工作任务的内容、开始时间、结束时间、资源以及预计工期。
计划完成后则需要同步到TFS,以便其他小组成员或组长可以获取任务并进行更详细的分解。同步操作十分简单,只需要点击团队选项卡下的发布按钮即可。
注意:若填写的项目计划在同步中出现异常或者不符合要求,则会自动弹出错误的项以及建议修改的说明。如图:
发布完成后,可以通知各小组组长对计划进行更详尽的划分。
为了可以成员更快速定位到自己的任务,这里需要制定一个团队查询,本操作一般由TFS配置管理员进行。操作如下:进入团队管理器,选择项目-团队查询,右键添加,操作如图:
弹出对话框后,配置成如图所示的条件:
设置完成后,点击保存,输入任意一个名称即可(建议"我的工作项")。
下一步,各小组组长登录到团队资源管理器,点击工作项-团队查询,选择刚刚创建的查询,VS会列出属于本人的所有工作项内容。
如果接受在VS中做计划的,可以直接使用VS提供的各种操作进行计划,但如果希望能在导出到Project中做计划再导入就好了,这样也没问题,操作很简单。
在查询出结果后,点击如图按钮:
这里可以看到可以导出成Excel、Project,我们就选择比较常用的project,选择后会自动创建project文件并刷新数据到文件中。
注意:这里编辑的Project与平常我们多个人共同修改一个Project文件是完全不同的概念。
大功告成,剩下的工作就在Project中指定计划,然后使用发布功能发布到TFS中即可。
任务细化工作完成后,就是到各组员根据分派的任务进行工作。
1.2. 信息关联
把任务状态激活(这个过程可以自行定义,这只是作为一种情况描述),然后开始实现任务的要求,当完成后又回到TFS把任务状态修改为"已解决",然后又到下一个任务,如此反复。
不过这里提出一点,向上面的使用方式其实不是十分好,TFS提供的任务记录不单单只是记录任务的完成状态,还可以关联很多信息在内,看看新任务的创建对话框:
详细信息可以把该任务是如何做的,遇到什么问题进行记录;
所有链接是可以把源代码的迁入集进行关联,知道任务对哪些代码进行了修改;
附件可以上传一些有关本次任务的截图、文件等其他内容。
1.3. 项目跟踪
有了以上的操作以及数据的积累,对于项目的整体跟踪不再是一件困难是的事情,轻松打开TFS的查询,选择未完成状态的项目,或已经完成的项目,又或者是其他维度,均可以定位当前项目的情况。
当然TFS还提供了很多报表从不同的角度进行分析,提供给项目经理分析项目状况,这些报表与查询均可以自行定制。
2. 源代码管理
很多人使用TFS其实都是只是使用了TFS的源代码管理功能,这里简单介绍一下源代码管理我认为挺有用的功能以及如何使用。
2.1. Checkin策略
所谓checkin策略就是在你每次进行checkin操作时,都会根据定义的策略检查一下你的请求是否符合要求,最常用的有必须与工作项关联的策略以及checkin必须填写注释等等。
这里可以根据团队项目的特性自行定制或者使用默认提供的策略。
操作如下:选择项目右键选择源代码管理,如图
在弹出窗口中选择迁入策略,选择添加则可以看到目前默认提供的策略:
对于自定义策略的导入与使用,由于篇幅较长,不在本文讨论,详细可查阅微软MSDN。
2.2. 多点Checkout与合并修改
TFS的源代码管理器运行多人共同Checkout一个文件,修改完Checkin的时候会自动帮你合并文件,当出现冲突的时候提供一个编辑器给你选择如何修改,个人感觉比较好用。由于没有checkin冲突代码,暂时无法提供截图说明。
这里简单说明一下:当同一个文件由2个人分别签出时,若2个人修改的同一个文件不同的位置,则代码管理器自动帮你合并;若同时修改同一个地方则会出现冲突编辑器让你选择使用哪个人的版本。
2.3. 打标签
打标签就是为当前的源代码状态做一个标识,以方便日后可以调出此版本的源代码。一般应用场景:发布版本。
操作:右键选择源代码管理器的目录,弹出菜单后选择应用标签,如图:
3. 文档管理
团队资源管理器中的项目下的文档目录,可以提供文档的相关管理功能,一般我们的项目中的文档可以上传到此,作为文档共享和文档版本管理的途径。
本人使用windows2008R2的时候发现无法直接打开word文档然后点击编辑进行签出,必须每次下载整个文件,修改完成后整个文件重新上传,google搜索了相关内容好像貌似是一个bug。
4. 生成
若要使用生成服务,必须到服务器进行一些配置。
打开TFS管理控制台,选择生成配置,这里需要新建一个控制器与代理即可,我创建的时候基本是使用默认的属性。
TFS的生成本人一直使用得不太好,没成功过多少次,可能主要与项目的结构或配置有关。新建生成的方法如图:
这部分我一直希望能够修改生成过程模板,让TFS生成好后可以启动VM的虚拟机还原某个状态快照,然后自动部署,然后可以运行自动测试最后提交报告。(尚在研究中)
正常情况下,定义生成的内容有触发器和工作区,其他保留默认基本上没有问题,TFS会根据你指定的工作区进行编译生成以及做单元测试。
5. 使用过程模板
5.1. 工作流程
5.2. 使用敏捷模板
使用默认的敏捷模板提供的工作项如图:
其过程如下:首先定义迭代计划,定义当前迭代的用户情景描述,然后划分实现用户情景的各个子任务,以及设计测试用例,每个任务完成后进行测试反馈BUG。在敏捷的站立会议中,提出来的问题可以由问题工作项记录。
5.3. 模板定制建议
TFS默认提供的工作项模板可以作以下修改:
开始时间与结束时间从默认的选项卡中移到第一项,方便我们做计划的时候输入或者查看任务的时候第一视觉看到。对于开始时间与结束时间由于默认的配置 是不从TFS刷新数据到Project,我觉得为了保持TFS与Project的一致性,建议做映射的时候把publishonly=true去掉。同 理,结束时间也存在此问题。
我们习惯做计划都会有计划时间与实际时间,我觉得TFS的开始与结束时间当成是计划的时间,而激活时间、解决时间是本任务的实际开始与结束时间,这 样比较稳妥。但如果这样做,必须规范大家的操作习惯,每次开始任务时则去激活任务,而不是在最后完成任务后再来补TFS的操作。