PowerShell 2.0 實(shí)踐(十一)管理 TFS 2010 (2)
上一次我們熟悉了一下TFS 2010的整體架構(gòu),搭建了x64平臺下的開發(fā)、測試環(huán)境。本次開始我們來深入研究一下TFS 2010的對象模型,TFS 2010的PowerShell擴(kuò)展也是建立在其對象模型基礎(chǔ)之上。
本系列所有腳本均在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。
轉(zhuǎn)載請注明出處:http://www.rzrgm.cn/brooks-dotnet/archive/2010/10/08/1846117.html
- TFS 2010的對象模型分為兩大部分:服務(wù)器端和客戶端
- TFS 2010 API位于%VS2010 Root%\Common7\IDE\ReferenceAssemblies\v2.0:
- Team Project Collections
Team Project Collections是TFS 2010中新添加的一個(gè)概念,指團(tuán)隊(duì)項(xiàng)目的集合。在連接TFS 2010時(shí)可以看到:
一個(gè)Team Project Collection可以包含很多個(gè)Team Project,類似于解決方案與項(xiàng)目之間的一對多關(guān)系。
- TFS Farms
TFS場的概念有點(diǎn)類似于SharePoint服務(wù)器場的概念,是一個(gè)巨大的容器。TFS 2010終于允許被安裝在域控制器上了,對開發(fā)人員來說是一個(gè)福音,因?yàn)殚_發(fā)機(jī)器往往是AD + SQL Server + VS + TFS + …,All in one。
TFS Farms更改內(nèi)容如下:
4.1、對TFS應(yīng)用層的網(wǎng)絡(luò)負(fù)載平衡支持
4.2、數(shù)據(jù)層的平面型擴(kuò)容
- TFS 2010的數(shù)據(jù)庫
5.1、Tfs_Configuration:保存了所有的配置信息、Team Project Collections列表等;
5.2、Tfs_Warehouse:保存了所有的報(bào)表數(shù)據(jù);
5.3、其他數(shù)據(jù)庫是每創(chuàng)建一個(gè)Team Project Collection就添加一個(gè)數(shù)據(jù)庫。
注意,不要手動去修改TFS數(shù)據(jù)庫中的內(nèi)容,理解其包含的表和字段可以更好的理解TFS 2010體系結(jié)構(gòu)。
- 說了這么多理論,最后以一個(gè)簡單的PowerShell命令來結(jié)束今天的研究:
獲取當(dāng)前TFS 2010上的工作區(qū)(Workspace):
工作區(qū)相當(dāng)于連接TFS 2010的客戶端。
首先要添加程序集,就像一般項(xiàng)目添加引用一樣,
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
運(yùn)行結(jié)果:
小結(jié):
本次主要研究了TFS 2010的客戶端模型的整體架構(gòu)以及TFS 2010新增的一些概念和特性,最終以一個(gè)實(shí)例結(jié)束了這次測試。后續(xù)篇章會繼續(xù)深入研究TFS 2010對象模型的細(xì)節(jié),敬請關(guān)注、探討。

浙公網(wǎng)安備 33010602011771號