您的位置:首页 > 运维架构 > Shell

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

2011-10-06 10:06 447 查看
上一次我们熟悉了一下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。

转载请注明出处:/article/5136321.html

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



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



Team Project Collections

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



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

TFS Farms

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

TFS Farms更改内容如下:

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

4.2、数据层的平面型扩容

TFS 2010的数据库



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

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

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

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

说了这么多理论,最后以一个简单的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对象模型的细节,敬请关注、探讨。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: