Team Foundation Server 2010

 目前公司使用的源代码管理工具是Perforce,项目BUG管理用的是JIRA。最近公司打算使用TFS作为源代码管理,替换目前所使用的Perforce。于是不得学习了解下微软的又一巨作Team Foundation Server 2010,虽然微软早先就已经推出过TFS2005以及TFS2008,到现在TFS2010已经是第三个版本了,但是就我了解国内使用较多的还是VSS和SVN,具体的差异比较这里就不做详细的说明了。

    说到项目及BUG管理,TFS也有效的把一些项目管理工作中的一些关键活动有效的集成在一起了,因此可以得出个简单结论TFS不仅能像SVN和VSS那样做一个简单的代码管理工具,它更优秀的地方在于将项目管理中譬如任务分配,问题跟踪,文档管理,报表管理,变更管理,自动构建等,如下图:

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

    有很多种访问 Team Foundation Server 的方式。作为工程师,您最典型的访问点将会是一个 Visual Studio 版本。但如果您是测试人员,则可以使用新的测试管理器产品(没有必要安装 Visual Studio)。如果您是项目经理,还可以使用 Web 界面、Microsoft Excel、Microsoft Project 或 Microsoft Office SharePoint Server 2007 对仪表板的支持(Visual Studio 2010 的新功能)。后面会对此内容进行更多说明。

一 Visual Studio 2010连接到TFS

 

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

 

二 创建团队项目

     在开发团队可以使用Team Foundation Server之前,必须先创建一个团队项目,团队项目代表了一个所有团队活动都在这里发生的管理单元。
     1.右键团队项目名称,选择“新建团队项目”。
     2.在新建团队项目对话框中输入团队项目名称,描述, 选择项目过程模板等。

 

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

 


三 源代码管理

3.1 配置工作区

工作区包括本地磁盘上的客户端文件夹,这些文件夹映射到 Team Foundation 版本控制服务器上受版本控制的文件夹。  
 1. 通过使用默认工作区快速获取文件
  右击要从其中下载文件的本地副本的团队项目、文件夹或分支,然后单击“映射到本地文件夹”。
  2. 手动创建工作区

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结


注:只能掩蔽cloak映射的 Team Foundation 版本控制服务器文件夹中的文件夹,也就是把一文件夹中某些文件隐藏掉,不会把它DOWN到本地。
 3. 使用多个工作区处理多个分支

 

3.2 分支合并

   a. 该工作组有几个(或者更多)不同的功能团队,每个团队负责开发一组适度分散的功能。但每个团队又依赖于其他团队构建的功能。您需要隔离由其中每个团队所做的工作而引入的更改风险,但最终需要将这些团队的所有工作合并到一个产品中。

   b. 测试团队在测试时需要稳定的代码版本,同时开发人员需要继续开发新功能,而新功能偶尔会破坏产品的稳定性。

   c. 软件有两个以前的版本和一个正在开发的版本。 即使大部分开发工作都投入到当前版本中,也必须继续为旧版本提供支持,这需要不时地发布 Service Pack、关键修补程序和安全修补程序以及其他变更。

 

   分支:

   我们可以使用文件夹来管理各个分支,如我们有一个项目在文件Main下,右键分支选择对应分支文件夹Release中写入分支的名称如ReleaseV1.0,点击完成。

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

    合并分支:

    在合并分支的时候,只要确定好对应的原分支和目标分支,点击下一步,即可。

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

3.3 搁置集

    搁置功能使您可以暂时保留一批挂起的更改,并可以选择从工作区中移除这些挂起的更改。搁置集是搁置操作的结果。可以在以后将搁置集中的更改还原到您的工作区或其他用户的工作区。
 在您未准备好或者无法签入一组挂起的更改时,可以搁置挂起的更改.


1.搁置和取消搁置挂起的更改
在“源代码管理资源管理器”中,右击该文件或文件夹,再单击“搁置挂起的更改(Shelve Pending Changes)”。
选项:在本地保留挂起的更改,默认情况下,该选项是选中的。 如果选中了此选项,将保留您在本地工作区中对文件或文件夹所做的更改。


2.取消搁置
在取消对搁置集的搁置时,只要每个已搁置的修订与工作区中已挂起的更改不冲突,Team Foundation 就会将该修订还原到目标工作区中作为挂起的更改。
在团队资源管理器中,单击“文件”,指向“源代码管理”,然后单击“取消搁置挂起的更改”。 将出现“取消搁置”对话框。


3.查找、删除搁置集

3.4 使用变更集

    使用 Team Foundation 版本控制变更集可以存储和查找有关单个签入操作的信息。在签入挂起的更改时,将创建一个变更集来存储一些相关信息,其中包括:文件和文件夹修订、指向相关工作项的链接、签入说明、注释、策略遵从性以及签入的所有者名称和日期/时间等系统元数据。
1 查找有关变更集的信息
 在“源代码管理资源管理器”的“文件”菜单上,指向“源代码管理”,然后单击“查找变更集(Find Changesets)”。
 可在范围选项中输入相关查询条件

 

3.5 文件比较及解决文件冲突

1.比较文件夹和文件
 您可以对服务器文件夹和本地文件夹进行比较,并查看每个文件夹在内容方面的差异。还可以比较两个服务器文件、两个本地文件或者一个服务器文件和一个本地文件,并查看文件之间的差异。
 在“Source Control”中,右击某个文件夹,再单击“Compare”。
 比较筛选器:
 ? - 只匹配一个字符。 *.cs  与所有 C# 文件相匹配。
 * - 匹配零个或多个字符。 My*.bmp  与所有以“My”开头的位图文件相匹配。
 ! - 指定排除名称筛选器。 !*.exe  排除所有可执行文件。
 \ - 指定文件夹名称筛选器。 !objd\  排除所有的 objd 文件夹。
 ; - 名称筛选器分隔符。
 注意 
名称筛选器中不允许使用下列字符:“ < > | \b \0 \t 和字符 0-31。
2. 文件冲突
使用 Team Foundation 版本控制管理文件的优点之一是使多个人员可以同时处理同一资产(如源代码文件)。不过,允许同时处理同一文件意味着有时您不得不解决一些冲突。
当您尝试执行的操作被一个或多个冲突阻止时,会自动显示“挂起的更改”窗口的“冲突”通道。默认情况下,该窗口仅显示由最近尝试的操作引起的冲突。当该窗口处于此状态时,会显示一条消息,消息开头为:“已应用路径筛选器...”
如果“挂起的更改”窗口尚未显示,请在“视图”菜单上指向“其他窗口”,然后单击“挂起的更改(Pending Changes)”。
解决冲突的方法:自动解决所有冲突、自动合并单个冲突、手动解决单个冲突

3.6 使用标签获取文件快照

    使用标签可以获取文件快照,以便您可以在以后的日期回头参考该快照。通过使用标签,您可以查看、生成大量文件,甚至可以将这些文件回滚到应用标签时所处的状态。
在许多软件项目中,当代码已达到合理的质量和稳定级别时,团队会生成并发布产品的新版本。团队需要标记每个文件的当前版本,这样即便文件继续更改,团队也仍然可以在其项目中获取和生成每个文件的新版本。
从理论上来说,可以手动记录每个文件的每个变更集 ID;但很显然这种过程是不切实际的。 Team Foundation 版本控制使这一工作变得很简单:只需向包含这些文件的文件夹、分支或团队项目应用标签即可。您可以按照喜欢的任何命名约定为标签指定名称。标签名称的一些示例包括:“Sprint 5”、“M1”、“Beta2”和“Release Candidate 0”。


1. 应用标签
在“源代码管理资源管理器”中,右击要应用标签的集合、团队项目、分支、文件夹或文件,然后单击“应用标签(Apply label)”。
此时将显示“新建标签”对话框。


2.列出、查找、查看、编辑和移除标签
可以使用两种方法列出和查找标签:“查找标签”对话框和“历史记录”窗口中的“标签”选项卡。找到所需的标签后,即可查看、编辑、移除该标签或处理应用该标签的文件。


3.将文件的带标签版本下载到工作区
在“源代码管理资源管理器”中,右击包含要下载项的项目集合、团队项目、分支或文件夹,然后单击“获取特定版本”。将出现“获取”对话框。在“类型”列表中选择“标签”,然后在“标签”框中键入标签名称

四 项目工作管理

    对于创建的每个团队项目,都会显示一个“工作项(Work Item)”节点。团队使用工作项来跟踪、监视和报告产品及其功能的开发情况。工作项是用于存储工作的定义、分配、优先级别和状态的, 用于跟踪工作分配和工作进度数据库记录。
    工作项是您在 Visual Studio Team Foundation Server 中创建的数据库记录,用于记录工作的定义、分配、优先级别和状态。 MSF for Agile Software Development v5.0 的过程模板定义了六种类型的工作项:用户情景、任务、测试用例、共享步骤、Bug 和问题。

    项目中可用的工作项类型取决于项目使用的项目过程模板

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

4.1 跟踪 Bug、任务和其他工作项

    对于创建的每个团队项目,都会显示一个“工作项”节点。团队使用工作项来跟踪、监视和报告产品及其功能的开发情况。工作项是存储工作的定义、分配、优先级别和状态的数据库记录。


    1.创建工作项
    a. 使用 Team Web Access 创建工作项,如下图 ;
    b. 在团队资源管理器Team Explorer中创建工作项;
    c. 使用现有 Microsoft Excel 工作项列表创建工作项;
    d. 使用 Microsoft Project 计划创建工作项;

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结


2. 复制工作项

   为了简单操作,我们可以直接通过已新建出来的工作项,复制出新的工作项,右键复制即可。

 

3. 创建和使用工作项模板
   可使用工作项模板来减少必须为一个新工作项分配的字段数,因为将自动在这些字段中填入分配给模板的值。例如,只要您使用它创建任务,就可以创建一个将设置区域路径、迭代路径和专业领域的任务模板。

 可使用 Team Web Access 中的“复制模板 URL”功能来创建工作项模板, 将此 URL 另存为一个文本文件或将此 URL 作为一个超链接添加到网页中。
 使用工作项模板创建工作项
 1.打开 Web 浏览器并复制上一过程中创建的 URL。
 2.填充特定工作项的剩余字段。
 3.单击“保存并关闭”。

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

 

4.2 在工作项与其他资源之间创建关系

    通过在工作项与其他资源之间创建关系,可以更有效地计划项目、更准确地跟踪依赖项目、更清楚地查看分层关系以及更快速地查找相关信息。例如,可以在两个工作项之间创建关系,以表明必须首先完成其中一个工作项。此外,还可以在工作项与变更集之间创建关系,以表明对代码进行了怎样的更改以解决功能请求。

 

1.创建链接工作项
    a. 使用团队资源管理器向工作项添加链接  

    b. 使用 Team Web Access 向工作项添加链接
       右键已有的工作项:

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

          

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结


2 查找、链接和查看与某个工作项关联的变更集
使用 Team Foundation 版本控制进行并签入代码更改时,可以将变更集与更改所涉及的工作项进行关联。变更集列出为变更集签入的源文件以及已链接到该变更集的所有工作项列表。


3  查看链接视图
Type of Query 选择“Tree Of Work Items”,以树形列表显示工作项。

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结



4.3 工作项查询
1 团队资源管理器中的查询编辑器来定义筛选条件

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

And/Or
 可使用此列指定如何测试子句。如果要查找同时满足此子句和前一个子句中条件的工作项,则可指定“与”。如果要查找满足此子句或前一个子句中条件的工作项,则可指定“或”。

查询运算符
 可使用下表中的查询运算符指定子句中的每个值必须如何与工作项中的对应值相关。有关分配给工作项字段的数据类型的信息。
Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

查询变量:

@ME       可搜索当前用户的工作项

@Project  可搜索当前团队项目中的工作项 

@Today    可搜索与当前日期或更早日期相关的工作项

[Any]     可搜索特定字段定义的任何值得相关工作项

 

2. 使用 Team Web Access中的查询编辑器来定义筛选条件

指定关键字和短语
 通过在“搜索”框中键入关键字,查找工作项的“Title”或“Description”字段中的特定文本。
指定字段
 如: State=Active        S=Active
      WorkItemType=bug      T=bug
            AssignedTo=“tfsadmin"
 

使用 @Me 宏
  可以使用 @Me 宏来指定搜索字符串,查找与您在某些方面相关的工作项。
  A=@me
  C=@me
使用搜索运算符
  可以使用三个搜索运算符来指定搜索条件
 =   EQUALS 运算符。使用此运算符可搜索文本的精确匹配项。 
 :    CONTAINS 运算符。 使用此运算符可搜索文本的部分匹配项。 
 -    NOT 运算符。 使用此操作符可排除包含特定文本的工作项。 NOT 运算符只能用于字段名称。
  -S=Active


 

5 生成应用程序

使用 Team Foundation Build,可以创建生成定义以自动编译应用程序、运行相关测试、执行代码分析、发布持续生成以及发布生成报告。
 若要生成应用程序,您可创建生成定义以指定要生成的项目、生成要运行的触发器、要运行的自动测试以及输出的部署位置。
创建生成定义:

Team <wbr>Foundation <wbr>Server2010 <wbr>使用总结

Trigger页可让我们决定开始生成的时间。 您有许多选项可以选取:
1默认选项是“手动”,使用此选项开始我们自己的生成。
2如果您希望在每次签入后进行新的生成,则持续集成很有帮助。这使您能够立即验证新更改,而不是等到很多签入混杂在一起时再进行验证。
3滚动生成为您提供了一种对更改进行批处理的方法,在生成需要一段时间而您又没有时间逐个处理每个生成的情况下,这种方法非常方便。
4封闭签入使您能够确保将所有签入提交到 Team Foundation Server。这将确保您决不会让您的团队其他成员遇到生成中断的情况。
5计划的生成对于获取整个团队用作试验的每日生成非常有用。

 

 Workspace:在生成过程中,生成代理将编译源文件,并对源文件执行其他操作。生成代理应先从版本控制服务器上的文件夹中将文件下载到本地工作目录,然后才能做到这一点。为了帮助下载这些文件,生成代理将创建一个版本控制工作区,该工作区会将服务器上的文件夹映射到生成代理的工作目录中的本地文件夹。


 Build Defaults:我们需要通过为生成提供一个用于存储新生成的UNC位置。

 

 

 




posted @ 2014-02-08 16:12  silence2010  阅读(241)  评论(0)    收藏  举报