PowerShell 2.0 实践(十一)管理 TFS 2010 (2)

上一次我们熟悉了一下TFS 2010的整体架构,搭建了x64平台下的开发、测试环境。本次开始我们来深入研究一下TFS 2010的对象模型,TFS 2010的PowerShell扩展也是建立在其对象模型基础之上。

测试脚本下载

本系列所有脚本均在Windows Server 2008 R2 DataCenter (PowerShell 2.0) + PowerGUI Script Editor Free Edition x64中测试通过。

TFS 2010系列使用了TFS 2010 Ultimate x64、TFS 2010 Power Tools April 2010。

转载请注明出处:http://www.cnblogs.com/brooks-dotnet/archive/2010/10/08/1846117.html

 

  1. TFS 2010的对象模型分为两大部分:服务器端和客户端

 

  1. TFS 2010 API位于%VS2010 Root%\Common7\IDE\ReferenceAssemblies\v2.0:

 

  1. Team Project Collections

Team Project Collections是TFS 2010中新添加的一个概念,指团队项目的集合。在连接TFS 2010时可以看到:

一个Team Project Collection可以包含很多个Team Project,类似于解决方案与项目之间的一对多关系。

 

  1. TFS Farms

TFS场的概念有点类似于SharePoint服务器场的概念,是一个巨大的容器。TFS 2010终于允许被安装在域控制器上了,对开发人员来说是一个福音,因为开发机器往往是AD + SQL Server + VS + TFS + …,All in one。

TFS Farms更改内容如下:

4.1、对TFS应用层的网络负载平衡支持

4.2、数据层的平面型扩容

 

  1. TFS 2010的数据库

5.1、Tfs_Configuration:保存了所有的配置信息、Team Project Collections列表等;

5.2、Tfs_Warehouse:保存了所有的报表数据;

5.3、其他数据库是每创建一个Team Project Collection就添加一个数据库。

注意,不要手动去修改TFS数据库中的内容,理解其包含的表和字段可以更好的理解TFS 2010体系结构。

 

  1. 说了这么多理论,最后以一个简单的PowerShell命令来结束今天的研究:

获取当前TFS 2010上的工作区(Workspace):

工作区相当于连接TFS 2010的客户端。

首先要添加程序集,就像一般项目添加引用一样,

Clear-Host

# Load client OM assembly.

[Reflection.Assembly]::Load("Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");

 

$url = New-Object -TypeName Uri -ArgumentList "http://brookspcnb:8080/tfs/DefaultCollection"

$project = New-Object -TypeName Microsoft.TeamFoundation.Client.TfsTeamProjectCollection -ArgumentList $url

Get-TfsWorkspace -Server $project

运行结果:

 

小结:

本次主要研究了TFS 2010的客户端模型的整体架构以及TFS 2010新增的一些概念和特性,最终以一个实例结束了这次测试。后续篇章会继续深入研究TFS 2010对象模型的细节,敬请关注、探讨。

posted @ 2010-10-08 21:26  徐州瑞步科技  阅读(1344)  评论(0编辑  收藏  举报