移山之道:VSTS软件开发指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 VSTS快速演示

1.2.1 安装软件

阿超要给移山公司的员工快速演示VSTS的功能。他和大拴花了两天的时间,才把服务器、客户端,以及各个软件装好,然后把基本演示步骤走了一遍,确定没有大问题。大拴说,这是他安装过的最复杂的软件系统 请参看MSDN上有关的安装指南,安装步骤从略。安装指南的链接是:(http://go.microsoft.com/fwlink/?LinkId=40042)。

◆ 安装服务器(AT/DT)

AT和DT可以安装在同一台机器上,或分别安装。对于小型团队而言,安装在同一台机器上就可以了。

◆ 安装构建服务器(TF Build Server)(可选)

关于服务器的配置,参看本书第6章“构建工具”(见第105页)。

◆ 安装客户端(Client)

1.2.2 发布第一个项目

安装完TFS以及客户端之后,我们就可以试一下VSTS的功能了。第一步,我们得有一个自己的项目。项目在什么地方?所有团队项目,都会在TeamExplorer窗口中访问得到。用View | Team Explorer显示这一窗口。

提示:创建新的团队项目的用户必须拥有创建项目的权限。在提示输入TFS的名字时,要输入AT所在的服务器的名字。

万事开头难,但是用VSTS开头就很简单,选择File | New| Team Project,就能看到项目创建向导(如图1-2所示):

图1-2 项目创建向导

这时请输入一个容易记的项目名,例如:Test2007。

选择MSF Agile v4.0作为项目的方法论模板(如图1-3所示)。

图1-3 选择模板

可以输入团队项目的描述(如图1-4所示),并且团队项目的门户网站的地址也由项目名定下来了:http://<TFS server>/sites/Test2007

图1-4 项目门户网站的标题和描述

在这一步中,你可以选择源代码控制的设置(如图1-5所示)。

图1-5 选择源代码控制的设置

大约5分钟后,项目建成了(如图1-6所示)。注意团队浏览器(Team Explorer)窗口内的新内容。

图1-6 项目创建成功

提示:如果项目创建不成功,VSTS会把详细的日志记录及错误信息保存在本地机器的%Temp%目录下。在此目录下按时间找到名为VSTS_TeamProjectCreation_<date time>.log的文件。

用notepad打开文件,搜索“exception”,你就能看到导致项目创建失败的详细信息。参考MSND或其他网站的说明,你就能解决各类问题。

VSTS根据MSF Agile的要求,预先在服务器上创建了不少内容。下面我们就分别讲解。

可以在Team Explorer中看到项目管理的各项主要功能(如图1-7、图1-8、图1-9、图1-10所示)。

图1-7 工作项管理部分

图1-8 文档

图1-9 报表

图1-10 构建和源码控制

1.2.3 工作项管理的基本功能

工作项(Work Item)就是要做的事情。VSTS已经根据MSF(敏捷开发模式)预先创建了一些工作项,大家可以马上开始工作。工作项管理的基本功能有:运行检索,如检索所有的任务。图1-11就是一个例子。

图1-11 所有任务

用户可以新建自己的检索。大家经常问的一个问题就是“我有什么任务?”TFS检索语言支持一些常用的变量,如“我”——当前用户可以用“@me”来表示。图1-12显示了如何创建一个“交给我的任务”检索。

图1-12 给我的任务

TFS的工作项检索语句也相当简明,图1-12的4行条件分别为:

(1)Team Project=@Project // 说明:团队项目是当前项目
(2)Work Item Type=Task  // 工作项类型是“任务”
(3)State=Active         // 工作项状态是“激活”
(4)Assigned To=@me      // 工作项执行者是“当前用户”

@后面还可以加入简单的运算,例如:还可以用@Today-2来表示两天前。

用户可以控制在检索结果中什么字段可以显示,以及排序的次序等,这些功能和MS Outlook中对邮件的字段显示和排序很相似。

用户还可以把检索保存起来,有三种选择:公共检索,个人检索,保存到文件中(如图1-13所示)。

图1-13 保存检索

◆ 公共检索:所有的用户都可以使用。

◆ 个人检索:只有自己可以看到。

◆ 文件:保存在文件中,可以共享并传送给别人。

用户可以双击一个工作项把它完全打开(如图1-14所示)。

图1-14 一个工作项

可以新建工作项,例如,给自己建一个工作项“Write a Hello World Program”。在团队项目“Test2007”下的“Work Items”,通过右键,选择“Add Work Item”,再选择“任务”(如图1-15所示)。

图1-15 创建一个任务

在新的任务中加入标题“Write a Hello World Program”,然后就可以保存,得到一个新的任务。

关于工作项各项字段的说明以及具体应用,请参看第4章(见第73页)。

1.2.4 源代码控制的基本功能

好了,有了任务,让咱们赶紧写程序吧!这就要用到源代码控制的基本功能了。

提示:请检查VSTS的源代码控制插件的设置(如图1-16所示)

Tools| Options | Source Control,确保Team Foundation Server是当前的选择。

图1-16 源代码控制插件的设置

从菜单中创建一个代码项目(File | New | Project),如同往常一样,创建一个项目,但是要选中“加到源代码控制中”(如图1-17所示)。

图1-17 一个新的源代码项目

可以设置源代码项目在本地机器上的位置。

提示:要选择“Add to Source Control”,这样才能把代码加到源代码控制中(如图1-18所示)。

图1-18

创建项目后,VSTS会自动创建必要的源代码文件和其他的支持文件,这时候,打开源代码浏览器“Source Code Explorer”就可以看到这些新的文件。可以写一个“Hello World”的程序。

代码清单1-1 源代码程序

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
       Console.WriteLine("hello world!");
    }
  }
}

编译运行成功后,用户可以签入所有的代码(如图1-19所示)。

图1-19 签入代码

在这个对话框中,还可以选择“Work Item”频道,同时可以列出相应的工作项表,在相应的任务前打勾,表明任务完成(如图1-20所示)。

图1-20 指定当前签入所关联的工作项

用户还可以在签入对话框中加入其他信息,如谁做了复审(Code Review),等等。也可以强制让每一个签入都填写有效信息,这些都可以通过修改签入规则来实现(如图1-21所示)。

图1-21 填入签入的其他信息

好,代码签入了,再打开原来的任务,在“Links”这一栏中,看到任务中有相应的链接指向源代码的修改集(Changeset)(如图1-22所示)。

图1-22 工作项和签入的关联

下面,再看一看签出、修改、签入单个文件的过程。在源代码浏览器中,选择刚才新增入的文件program.cs,右键选择“签出(Check Out)”(如图1-23所示)。

图1-23 签出文件

用户可以给文件加上不同的锁(如图1-24所示)。

图1-24 签出文件时可选择上锁

对程序进行简单的修改,把输出的语句修改一下:

代码清单1-2

namespace ConsoleApplication1
{
   class Program
   {
     static void Main(string[] args)
     {
        Console.WriteLine("Welcome to VSTS 2005!");
     }
   }
}

在窗口中,选中Program.cs,右键选择“比较”,可以看到和服务器上的版本相比,究竟什么地方有不同(如图1-25所示)。

图1-25 比较不同

同样地,可以签入刚刚做的修改。另外,用户可以在命令行中执行源代码控制命令。参见MSDN以及移山社区网站。

1.2.5 Office集成工具

VSTS的另一特色就是和Office软件的集成,从VSTS中可以直接启动MS Office Excel,下载数据,可以选择适当的检索,从工作项数据库中找到最新的数据,修改后用发布(Publish)功能把修改送回工作项数据库。

用户也可以用MS Project来管理工作项,和MS Office Excel类似。

1.2.6 报表生成工具

TFS的一个优点就是它集成了报告功能,自带的10多种报表覆盖了项目管理中可能用到的大部分典型情况。

一个最常用的报表是“剩余工作(Remaining Work)”报表,它试图回答每一个项目成员都想知道的问题——我们到底还剩下多少事儿要做?

由于Test2007项目刚刚建立,所有的事情都要做。图1-26显示了另一个有很长历史的项目的“剩余工作”报表。

图1-26 剩余工作报告

可以从图上看到,“active”表示还没有解决的工作,“resolved”表示已经解决,但未经核实的工作,“closed”表示已经完全解决并核实的工作。