![移山之道:VSTS软件开发指南](https://wfqqreader-1252317822.image.myqcloud.com/cover/312/657312/b_657312.jpg)
1.2 VSTS快速演示
1.2.1 安装软件
阿超要给移山公司的员工快速演示VSTS的功能。他和大拴花了两天的时间,才把服务器、客户端,以及各个软件装好,然后把基本演示步骤走了一遍,确定没有大问题。大拴说,这是他安装过的最复杂的软件系统 。
◆ 安装服务器(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所示):
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0035_0002.jpg?sign=1739285853-ZG9tjMQlxZPWgl5pBXWFB9tOoax97olZ-0-996213c86ddad133a8b4e26094bb2fa3)
图1-2 项目创建向导
这时请输入一个容易记的项目名,例如:Test2007。
选择MSF Agile v4.0作为项目的方法论模板(如图1-3所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0036_0001.jpg?sign=1739285853-5Tj5OZL8A49WUaP56zvtv9NqDwqFYZw3-0-25af50518f4355b6273aa1842f2582f8)
图1-3 选择模板
可以输入团队项目的描述(如图1-4所示),并且团队项目的门户网站的地址也由项目名定下来了:http://<TFS server>/sites/Test2007。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0036_0002.jpg?sign=1739285853-mKQ3vFyrjaIJ0VLys30nlb2aaeYQfVGL-0-ce44d001fe0c31467a58589cd862c928)
图1-4 项目门户网站的标题和描述
在这一步中,你可以选择源代码控制的设置(如图1-5所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0037_0001.jpg?sign=1739285853-aFJGhCxygxYd25RjdDa8KbI7Soc2E2Ir-0-140653780a5f5b2c7c24df4f167ba07a)
图1-5 选择源代码控制的设置
大约5分钟后,项目建成了(如图1-6所示)。注意团队浏览器(Team Explorer)窗口内的新内容。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0038_0001.jpg?sign=1739285853-L52SXg1kMI4wyPuGBwngywzTh7nDX5va-0-7a832b8405b14e096af2f8d44bc0b665)
图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所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0038_0002.jpg?sign=1739285853-DmXyzvwwBAJBOKBHHOcn2mV5rw9Tcxy8-0-f9c6e9e889a96536587bb4b632e5e5b7)
图1-7 工作项管理部分
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0039_0001.jpg?sign=1739285853-E3XRrYODVtFuZaWjMipkQ7RHiiB0lLG0-0-4dbc25537b724ee175e4f3b168fd7ed3)
图1-8 文档
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0039_0002.jpg?sign=1739285853-4iK2oLsr79g8rCtaIfCRKKOL82x508Ok-0-61e18b09ca5581b5c7982263acd40416)
图1-9 报表
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0039_0003.jpg?sign=1739285853-l9w93qEgpNecBEYZbqslqUvfYQWODBAf-0-69646b11d42345e040f5116615aba96f)
图1-10 构建和源码控制
1.2.3 工作项管理的基本功能
工作项(Work Item)就是要做的事情。VSTS已经根据MSF(敏捷开发模式)预先创建了一些工作项,大家可以马上开始工作。工作项管理的基本功能有:运行检索,如检索所有的任务。图1-11就是一个例子。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0040_0001.jpg?sign=1739285853-jkOdxyv2l9KCqH3UQMR3lB9a2AdzRfuR-0-3618e718744b868c82267e3fe089502c)
图1-11 所有任务
用户可以新建自己的检索。大家经常问的一个问题就是“我有什么任务?”TFS检索语言支持一些常用的变量,如“我”——当前用户可以用“@me”来表示。图1-12显示了如何创建一个“交给我的任务”检索。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0040_0002.jpg?sign=1739285853-lli2syuCeSUT18gOYN0knjjRkBUbmGyB-0-f4ad443933640e802ef936c073ac10c9)
图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所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0041_0001.jpg?sign=1739285853-hIjFY5WjmiaRUX9JWVRsF59TaO6UUcue-0-8c2cd3a42e19d2fb97c8c2c0c84cb6dd)
图1-13 保存检索
◆ 公共检索:所有的用户都可以使用。
◆ 个人检索:只有自己可以看到。
◆ 文件:保存在文件中,可以共享并传送给别人。
用户可以双击一个工作项把它完全打开(如图1-14所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0042_0001.jpg?sign=1739285853-onhKL23ZVSBett5YzU9hAyUtFapxyZZM-0-d2284324a7cadd6e052f115e01a126df)
图1-14 一个工作项
可以新建工作项,例如,给自己建一个工作项“Write a Hello World Program”。在团队项目“Test2007”下的“Work Items”,通过右键,选择“Add Work Item”,再选择“任务”(如图1-15所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0042_0002.jpg?sign=1739285853-eR2AFic5blPge4aIV8dTRs4nD7r2F7KF-0-c68b5da3a8f454b04ba11b4a1db30f9a)
图1-15 创建一个任务
在新的任务中加入标题“Write a Hello World Program”,然后就可以保存,得到一个新的任务。
关于工作项各项字段的说明以及具体应用,请参看第4章(见第73页)。
1.2.4 源代码控制的基本功能
好了,有了任务,让咱们赶紧写程序吧!这就要用到源代码控制的基本功能了。
提示:请检查VSTS的源代码控制插件的设置(如图1-16所示)。
Tools| Options | Source Control,确保Team Foundation Server是当前的选择。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0043_0002.jpg?sign=1739285853-Pru5d3af8UzsshGhudO8CicYbzziQRvC-0-e960f8a1c0093fdcb1affb1a1b1a3602)
图1-16 源代码控制插件的设置
从菜单中创建一个代码项目(File | New | Project),如同往常一样,创建一个项目,但是要选中“加到源代码控制中”(如图1-17所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0043_0003.jpg?sign=1739285853-tcyeP1M024kwG6fjtP5xgzGeK1T3s84s-0-f68248407ce4da05eb0106d099de5db4)
图1-17 一个新的源代码项目
可以设置源代码项目在本地机器上的位置。
提示:要选择“Add to Source Control”,这样才能把代码加到源代码控制中(如图1-18所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0044_0002.jpg?sign=1739285853-iKsVvDPokQypkEMA9zCbsGiLHpi6bQ3e-0-f6911dd316e6cbf6e047759f4210f3db)
图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所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0045_0001.jpg?sign=1739285853-c2aRknMty2eJUH791iTrYwM0IC19ljeB-0-97b20868c194ec91fe71a405169dec07)
图1-19 签入代码
在这个对话框中,还可以选择“Work Item”频道,同时可以列出相应的工作项表,在相应的任务前打勾,表明任务完成(如图1-20所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0045_0002.jpg?sign=1739285853-wjqtzo1xPn01lE11lHRxGuenkGco4v7I-0-4bb58f448463b835e1de0481990d2b01)
图1-20 指定当前签入所关联的工作项
用户还可以在签入对话框中加入其他信息,如谁做了复审(Code Review),等等。也可以强制让每一个签入都填写有效信息,这些都可以通过修改签入规则来实现(如图1-21所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0046_0001.jpg?sign=1739285853-U7OKGJdhCnUISi6pENt4hoErixvL41JN-0-714fd41486919369df565ab7b449ac22)
图1-21 填入签入的其他信息
好,代码签入了,再打开原来的任务,在“Links”这一栏中,看到任务中有相应的链接指向源代码的修改集(Changeset)(如图1-22所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0046_0002.jpg?sign=1739285853-EmFToyBXHomPKyhVoaX60Np3WELNDZrx-0-815209f6f9e8c2de8877af2fc02bd58e)
图1-22 工作项和签入的关联
下面,再看一看签出、修改、签入单个文件的过程。在源代码浏览器中,选择刚才新增入的文件program.cs,右键选择“签出(Check Out)”(如图1-23所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0047_0001.jpg?sign=1739285853-F1kcAv8dwAj05YaMNHUBOnG6ib1TpAJ4-0-418ab1fb13ced669ebf3bb1da06340dd)
图1-23 签出文件
用户可以给文件加上不同的锁(如图1-24所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0047_0002.jpg?sign=1739285853-0fEbXwyzQQXEXd6lto44gBPK5B7VQR5W-0-0d285c81dda59cf486621b699daf54d4)
图1-24 签出文件时可选择上锁
对程序进行简单的修改,把输出的语句修改一下:
代码清单1-2
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Welcome to VSTS 2005!"); } } }
在窗口中,选中Program.cs,右键选择“比较”,可以看到和服务器上的版本相比,究竟什么地方有不同(如图1-25所示)。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0048_0001.jpg?sign=1739285853-JopETexvJwcsuqj3drw7hDMsRf90vXc5-0-d69ce0621bae4306880c0c21ad4e83da)
图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显示了另一个有很长历史的项目的“剩余工作”报表。
![](https://epubservercos.yuewen.com/B98656/3590323004219701/epubprivate/OEBPS/Images/figure_0049_0001.jpg?sign=1739285853-YDmA86y2E8L1Q8yPEKAEzoitTTQofow7-0-6b55e20860c5415419eaffddcc8e7497)
图1-26 剩余工作报告
可以从图上看到,“active”表示还没有解决的工作,“resolved”表示已经解决,但未经核实的工作,“closed”表示已经完全解决并核实的工作。