Team Foundation Server 架構

若要讓您的部署擁有最好的規劃和管理,您應該先了解 Team Foundation Server (TFS) 的基本結構。 了解結構可協助您維護部署的整體健康狀態,並有助於確定您的開發團隊所需的伺服器和服務的整體可用性。

您可以透過幾種方式部署 TFS:在一部伺服器上;在許多伺服器上;或在一個網域或工作群組上或跨網域。 此外,您可以選擇使用 Visual Studio Online,其中您部署的所有伺服器元件均是由 Microsoft 為您裝載。 了解結構可協助您決定何種拓撲最可能符合您的業務需求。 如果您了解 TFS 的基本結構,不論您選擇何種拓撲,都可讓您更有效率地管理實體和邏輯需求。 本主題提供各種結構的簡單概觀,以及範例部署之詳細資訊的連結。 同時提供服務、資料庫、組態資訊及本機部署的網路通訊埠和通訊協定等技術資訊。

若要了解 TFS 的結構以及對於您的部署的影響,您應該考慮下列項目:

  • Team Foundation 的邏輯應用程式、資料和用戶層,以及是否要在應用程式層和資料層上使用一部或多部伺服器,或者是否要使用 Visual Studio Online 將應用程式層和資料層裝載在雲端上。

  • 裝載這些階層的實體或虛擬伺服器位置

  • Team Foundation Build 和在環境中執行的組建電腦數目和位置,其中包括支援您的開發做法可能會需要的數量。

  • Team Foundation ServerProxy 的潛在需求

此外,您還必須考量以上這些項目之間的互動。 例如,如果您選擇使用裝載的 TFS 服務,您必須確保您的用戶端可以在連接埠 443 存取服務。 如果您選擇在本機部署 TFS,您必須知道 TFS 使用的 Web 服務、資料庫和物件模型。 此外,您也必須知道 TFS 預設會使用的網路連接埠和通訊協定,以及您可以自訂的網路連接埠。 最後,您必須了解要在 Team Foundation Server 設定什麼權限,以及您的部署相依的元件和程式。

除了本身擁有的服務以外,Team Foundation Server 還必須依賴其他服務才能正常運作。 如需有關這些服務的詳細資訊,請參閱 Team Foundation Server 概念TFS 資料倉儲的元件。 如需安裝的需求和相依性的詳細資訊,請參閱Team Foundation Server 安裝指南

警告

您不應手動修改任何 TFS 資料庫,除非您是依 Microsoft 支援的指示,或遵循手動備份資料庫中描述的程序進行。任何其他修改都可能會使您的服務合約失效。

本主題內容

  • Visual Studio Online

  • 物件模型

  • 本機部署的 Web 服務和資料庫

    • 集合層級服務

    • 伺服器層級服務

    • 資料層

    • 用戶層

  • 組態資訊

  • 群組和權限

  • 網路連接埠和通訊協定

    • 預設的網路設定

    • 可自訂的網路設定

Visual Studio Online

已裝載的 TFS 服務簡單圖表

Microsoft 提供使用 Visual Studio Online 的選項,其中所有伺服器端層面的部署均已為您裝載。 您的原始程式碼、工作項目、組建組態和小組功能均裝載在雲端上。 從結構的觀點而言,這可大幅簡化您的部署,因為只有用戶端元件與其網際網路存取才是您需要考慮的結構。

當使用服務時,您可以使用 Web 瀏覽器以 Microsoft 帳戶連接至服務。 您可以建立 Team 專案、將成員加入至您的小組和工作,就像本機安裝的部署一樣,並且沒有管理伺服器的負擔。 您的應用程式層、資料層與組建伺服器已使用 Microsoft 雲端平台和 SQL Server Azure 裝載在雲端中。

如需詳細資訊,請參閱已裝載拓撲範例

物件模型

透過裝載或是本機部署的結構,您可以撰寫以其伺服器或用戶端物件模型為基礎的應用程式,來擴充 Team Foundation 的特性及功能。 在所有部署類型中,您都可以撰寫可擴充用戶端功能的應用程式。 不過,如果您要擴充伺服器功能,應用程式必須在應用程式層伺服器上執行。 若要擴充用戶端功能,您必須在與 Team Explorer相同的電腦上執行該應用程式。

Team Foundation 的物件模型

如需詳細資訊,請參閱擴充 Team Foundation 的功能

本機部署的 Web 服務和資料庫

Team Foundation Server 包含一組 Web 服務和資料庫,您可在裝載 (Host) Team Foundation 的邏輯應用程式、資料和用戶層的一個伺服器上或分別在多個伺服器上安裝和設定它們。 部分功能 (例如工作面板與待處理項目 (Backlog) 小組功能) 完全是 Web 架構,可以個別透過 Team Web Access (也就是用戶端 Web 式服務) 存取。 其他選項 (例如版本控制功能),也可以透過 Team Web Access 或用戶端應用程式存取。 下列各圖提供 TFS 本機部署所適用的 Web 服務、應用程式和資料庫的高層級檢視。

伺服器架構圖表TFS 中使用的其他伺服器用戶端架構圖表

集合層級服務

集合層級服務提供 Team 專案集合層級的操作功能。 您可以使用這些服務建立擴充 Team Foundation Server 的應用程式。 如需建立 TFS 應用程式的詳細資訊,請參閱擴充 Team Foundation 的功能

提示

某些服務會出現在多個層級。例如,集合層級和伺服器層級的登錄服務功能會出現在兩個清單中。

  • Team Foundation Framework Services

    • 註冊服務

    • 註冊服務 (用於與舊版 Team Foundation Server 相容)

    • 屬性服務

    • 事件服務

    • 安全性服務

    • 位置服務

    • 身分識別管理服務

  • 版本控制 Web 服務

  • 工作項目追蹤 Web 服務

  • Team Foundation Build Web 服務

  • Lab Management Web 服務

  • VMM 管理 Web 服務

  • 測試代理程式控制器 Web 服務

伺服器層級服務

應用程式層級服務 (也稱為應用程式層級服務) 提供 Team Foundation Server 作業的功能做為軟體應用程式。 您可以使用這些服務建立擴充 Team Foundation Server 的應用程式。 如需詳細資訊,請參閱擴充 Team Foundation 的功能

  • Team Foundation Framework Services

    • 註冊服務

    • 事件服務

    • Team 專案集合服務

    • 屬性服務

    • 安全性服務

    • 位置服務

    • 身分識別管理服務

    • 管理服務

    • 集合管理服務

    • 目錄服務

資料層

資料層包含資料、預存程序和其他相關邏輯。 當您使用 Visual Studio Online 時,會使用 SQL Server Azure 裝載資料層。 在 TFS 的本機部署中,邏輯資料層是由 SQL Server 內的下列作業存放區所組成。這些存放區可能位於一部實體伺服器或散佈在許多伺服器上。 您可以使用這些作業存放區建立擴充 Team Foundation Server 的應用程式。 如需詳細資訊,請參閱擴充 Team Foundation 的功能

  • 組態資料庫 (TFS_Configuration)

  • 應用程式倉儲 (TFS_Warehouse)

  • Analysis Services 資料庫 (TFS_Analysis)

  • Team 專案集合的資料庫 (TFS_CollectionName)

下表提供 Team Foundation Server 在本機部署中使用之資料庫的清單。除非另有註明,否則您可以將這個清單中的所有資料庫從安裝所在的原始伺服器及執行個體移動,並將它們還原至另一部伺服器或執行個體。

資料庫名稱和說明

伺服器

TFS_Configuration:此資料庫儲存 Team Foundation Server 的資源目錄和組態資訊。 這個資料庫包含 Team Foundation Server 的作業存放區。

安裝和設定 Team Foundation Server 時使用的 SQL Server 執行個體。

TFS_Warehouse:此資料庫儲存報表的資料。

安裝和設定 Team Foundation Server 時使用的 SQL Server 執行個體。

TFS_Analysis:此多維度資料庫儲存來自 Team 專案集合的彙總資料。

安裝和設定 Team Foundation Server 時使用的 SQL Server 執行個體。

Team 專案集合的資料庫:每個 Team 專案集合都有一個資料庫,其中包含該集合中所有 Team 專案的資料。

與 Team Foundation Server 相容的 SQL Server 執行個體

用戶層

用戶層會透過伺服器物件模型與應用程式層進行通訊,並使用該層中所列的相同 Web 服務。 不論您是在本機上部署 TFS,或使用 Visual Studio Online 都是如此。 除了該模型以外,用戶層還包含 Visual Studio 產業夥伴 (VSIP) 元件、Microsoft Office 整合、命令列介面和簽入原則的架構。

組態資訊

裝載的服務會視用戶端服務、本機部署,以及與裝載在雲端中的應用程式層和資料層的網際網路連線而定。 Team Foundation Server 的本機部署依賴 SQL Server、Internet Information Services (IIS) 和 Windows 作業系統才能運作。 視所選的拓撲而定,Team Foundation Server 可能也會相依於 SQL Server Reporting Services 或 SharePoint 產品。 因此,Team Foundation Server 的組態資訊可以儲存在下列任何位置:

  • IIS 資料存放區。

  • Team Foundation Server 的組態檔。

  • Reporting Services 的資料來源 (例如,TFSREPORTS 資料)。

  • Team Foundation Server 的組態資料庫。 Team Foundation Server 登錄是組態資料庫的一部分。

  • Windows 登錄。

如需不同的本機部署拓撲和存放這些資源位置的範例,請參閱簡單拓撲的範例中等拓撲的範例複雜拓撲的範例。 您在維護 Team Foundation Server 的本機部署時,必須考慮這些組態來源。 若要以任何方式變更組態,則可能需要修改儲存在多個位置的資訊。 您也可能需要變更資料層和用戶層的組態資訊。Team Foundation Server 包含管理主控台和數個命令列公用程式,可協助您進行這些變更。 如需詳細資訊,請參閱設定及管理 TFS 資源

同步處理 Active Directory 和 Team Foundation Server 之間的群組識別身分

在 Team Foundation Server 執行於 Active Directory 網域的本機部署中,在發生下列任一事件時,會同步處理群組和識別資訊:

  • 啟動 Team Foundation 的應用程式層伺服器。

  • 將 Active Directory 群組加入至 Team Foundation Server 的群組。

  • 在排程的工作經過中指定的時段。 預設值是一個小時,Team Foundation Server 中的所有群組會每 24 小時更新一次。

識別管理服務 (IMS) 會與 Active Directory 同步,且變更的識別會從伺服器傳播至用戶端。根據預設,所有的群組都會在 24 小時內更新,但是您可自訂這個設定,以便符合您的部署需求。 如需詳細資訊,請參閱Team Foundation Server 的信任和樹系考量。 如需不使用 Active Directory 的本機部署,請參閱在工作群組中管理 Team Foundation Server

群組和權限

在本機部署中,Team Foundation Server 具有自己的一組預設群組和權限,您可以在專案、集合或伺服器層級加以設定。 您可以建立自訂群組,以及自訂群組和個別層級的權限。 不過,您加入至 Team Foundation Server 的使用者或群組並不會自動加入至 Team Foundation Server 本機部署會相依的兩個元件:SharePoint 產品 和 Reporting Services。 如果部署使用這些程式,您必須先將使用者和群組加入這些程式中,並授與適當的權限,這些使用者和群組才能在所有的 Team Foundation Server 作業中正確運作。 如需詳細資訊,請參閱管理 TFS 中的使用者或群組

對於裝載的部署,存取權限是透過 Microsoft 帳戶和小組成員資格的組合來控制。 如需詳細資訊,請使用您的 Microsoft 帳戶登入服務,然後選擇 [學習]

網路連接埠和通訊協定

根據預設,TFS 的本機部署設定為使用特定的網路連接埠和通訊協定。 下圖顯示單一部署中 Team Foundation Server 的網路流量。

通訊埠和通訊簡單圖表

裝載的 TFS

同樣地,TFS 裝載的服務也是設定為使用特定的網路連接埠和通訊協定。 下圖顯示裝載部署中的網路流量。

已裝載的 TFS 服務簡單圖表

下圖顯示包含 Visual Studio Lab Management 元件的更複雜部署中的網路流量。

通訊埠及通訊複雜圖表第 1 部分通訊埠及通訊複雜圖表第 3 部分通訊埠及通訊複雜圖表第 2 部分

虛擬機器使用連接埠 80,與任何測試控制器針對實驗室管理代理程式的下載作業進行通訊。 如果您有任何通訊問題,請檢查是否已啟用這個連接埠。

預設的網路設定

根據預設,在 Team Foundation 部署中的電腦間通訊會使用下表所示的通訊協定和連接埠。如果星號 (*) 出現在連接埠號碼之後,您就可以自訂該連接埠。

層級和服務

通訊協定

通訊埠

應用程式層 - Web 服務

HTTP/HTTPS

8080/443*

應用程式層 - SharePoint 產品 管理

HTTP

17012* 表示 SharePoint 產品與 Team Foundation Server 一起安裝;否則為隨機產生

應用程式層 - SharePoint 產品 和 Reporting Services

HTTP

Windows Management Instrumentation (WMI) 服務 (安裝時需要用來指定及驗證 Reporting Services 的 URL)

80*

動態通訊埠

資料層

MS-SQL TCP

1433*

資料層 (SQL Server Analysis Services)

MS-AS

預設值 (2382 或 2383)*

視您安裝的 SQL Server 版本及執行個體的類型而定,預設連接埠會有所不同。 使用 SQL Server 組態管理員判斷您的部署使用的連接埠。

Team Foundation Server Proxy - 用戶端到 Proxy

HTTP

8081*

Team Foundation Server Proxy - Proxy 到應用程式層

HTTP/HTTPS

8080/443*

用戶層 - Reporting Services

HTTP

80*

用戶層 - Web 服務

HTTP/HTTPS

8080/443*

組建控制器到應用程式層

HTTP/HTTPS

8080/443

組建代理程式到應用程式層

HTTP/HTTPS

8080/443

Release Management 伺服器

HTTP 或 HTTPS

1000*

Release Management 用戶端

HTTP 或 HTTPS

1000*

Release Management 代理程式

HTTP 或 HTTPS

1000*

測試控制器到應用程式層

HTTP/HTTPS

8080/443*

應用程式層到測試控制器

.NET Remoting

6901*

應用程式層到網域名稱系統 (DNS)

DNS 動態更新

53

應用程式層 - Virtual Machine Manager

HTTP

8100

測試控制器到測試代理程式

.NET Remoting

6910*

測試代理程式到測試控制器

.NET Remoting

6901*

組建控制器到組建代理程式

SOAP over HTTP

9191

實驗室代理程式到隔離環境中的實驗室代理程式

TCP 通訊端

9050

組建代理程式到組建控制器

SOAP over HTTP

9191

Virtual Machine Manager 系統管理員主控台 - Virtual Machine Manager

HTTP

8100

Virtual Machine Manager - Virtual Machine Manager 主機

Windows Remote Management (WinRM) 執行動作

背景智慧型傳送服務 (BITS) 傳送資料

80 執行動作

443 傳送資料

Virtual Machine Manager - Virtual Machine Manager 程式庫伺服器

WinRM 執行動作

BITS 傳送資料

80 執行動作

443 傳送資料

應用程式層 - Virtual Machine Manager 主機

分散式元件物件模型/Windows Management Interface (DCOM/WMI) 通訊傳送資料

135

在 49152 到 65535 的範圍內以動態方式指派

用戶端層 - Virtual Machine Manager 主機

主機連接到虛擬機器。

2179 到執行主機連接。

裝載的服務

HTTPS

443

可自訂的網路設定

如上表所述,您也可以變更應用程式、資料和本機部署用戶層之間的通訊,方法是修改 Team Foundation Server 以使用自訂連接埠。 下表描述將通訊埠從 HTTP 變更為 HTTPS 的範例。

注意事項注意事項

若要設定 Team Foundation Server 使用 HTTPS 和 Secure Sockets Layer,您必須同時啟用 HTTPS 網路流量的連接埠和執行許多其他工作。如需詳細資訊,請參閱針對 Team Foundation Server 以安全通訊端層 (SSL) 設定 HTTPS

服務

通訊協定

通訊埠

具有 SSL 的 Web 服務

HTTPS

由系統管理員進行設定

SharePoint 管理中心

HTTPS

由系統管理員進行設定

SharePoint 產品

HTTPS

443

Reporting Services

HTTPS

443

用戶端 Web 服務

HTTPS

由系統管理員進行設定

發行管理

HTTPS

由系統管理員進行設定

請參閱

概念

Team Foundation Server 概念

Team Foundation Server 的權限參考

TFS 資料倉儲的元件