建立和使用組建代理程式
更新:2011 年 5 月
若要使用 Team Foundation Build,您的小組必須至少有一個組建代理程式。 組建代理程式會執行組建需要大量處理器資源的作業,這些作業包括從版本控制取得檔案、提供工作區、編譯程式碼、執行測試和將檔案合併回版本控制。 每個組建代理程式都由專屬的單一組建控制器所控制。
在開始之前
您應了解組建代理程式在組建系統中所擔當的角色,以及使用組建代理程式的不同方式。 如需詳細資訊,請參閱認識 Team Foundation Build 系統。
組建代理程式是裝載於組建電腦上。 因此,您必須先設定組建電腦,然後才可以建立和使用組建代理程式。 每一部組建電腦可以裝載一個或多個組建代理程式。 如需詳細資訊,請參閱設定組建電腦。
本主題內容
必要的使用權限
建立組建代理程式
修改組建代理程式
組建代理程式屬性對話方塊
- 工作目錄屬性的詳細資訊
使用組建代理程式執行測試
安裝其他軟體
安裝編譯程式碼所需的軟體
安裝執行其他工作所需的軟體
指派標籤到組建代理程式
移除組建代理程式
必要的使用權限
若要執行此程序,您必須是組建電腦上 [Administrators] 群組的成員,且必須將您的 [管理組建資源] 使用權限設定為 [允許]。 如需詳細資訊,請參閱 Team Foundation Server 使用權限。
建立組建代理程式
若要建立組建代理程式
登入您想要建立組建代理程式的組建電腦。
依序按一下 [開始]、[所有程式]、[Microsoft Team Foundation Server 2010],然後按一下 [Team Foundation 管理主控台]。
[Team Foundation 管理主控台] 隨即出現。
在樹狀目錄窗格中,展開伺服器的名稱,然後按一下 [Team Foundation Build] 節點。
組建電腦的相關資訊會出現在內容窗格中。
如果未出現 [組建服務已設定使用] 訊息,請參閱設定組建電腦。
按一下 [新增代理程式]。
[組建代理程式屬性] 對話方塊隨即出現。 如需詳細資訊,請參閱本主題後面的組建代理程式屬性。
完成修改代理程式的屬性時,按一下 [確定]。
如果 [啟動] 連結立即出現在組建代理程式名稱下方,請按一下該連結。
修改組建代理程式
您可以從用戶端機器中或者直接在裝載組建代理程式的組建電腦上,修改組建代理程式。
若要修改用戶端機器中的組建代理程式
在 Visual Studio 中,開啟 [建置] 功能表,然後按一下 [管理組建控制器]。
[管理組建控制器] 對話方塊隨即出現。
按一下您想要修改的組建代理程式,然後按一下 [屬性]。
[組建代理程式屬性] 對話方塊隨即出現。
若要修改組建電腦上的組建代理程式
登入執行您要修改之組建代理程式的組建電腦。
依序按一下 [開始]、[所有程式]、[Microsoft Team Foundation Server 2010],然後按一下 [Team Foundation 管理主控台]。
[Team Foundation 管理主控台] 隨即出現。
在樹狀目錄窗格中,展開伺服器的名稱,然後按一下 [Team Foundation Build] 節點。
緊接在您想要修改之組建代理程式的名稱下方,按一下 [屬性]。
[組建代理程式屬性] 對話方塊隨即出現。
組建代理程式屬性對話方塊
在 [組建代理程式屬性] 對話方塊中,可以檢視或變更顯示名稱和說明,以及影響組建代理程式運作方式的其他屬性。
顯示名稱、說明
提供可協助小組成員輕鬆識別和取得組建代理程式相關重要資訊的名稱和說明。
控制器
指定您想要控制此組建代理程式的組建控制器。 組建控制器可以與此組建代理程式在相同的組建電腦上執行,也可以在不同的組建電腦上執行。
電腦名稱
此方塊會顯示裝載此組建代理程式之組建電腦的名稱。
工作目錄
使用此方塊可以指定工作目錄的路徑。 如需詳細資訊,請參閱工作目錄屬性的詳細資訊。
組建代理程式服務已啟用
選取此核取方塊可讓此組建代理程式運作,如果您想要停用它以防止對其指派組建,可清除此核取方塊。
秘訣 |
---|
當您在組建電腦上執行維護時停用組建代理程式,這是很好的做法。 |
工作目錄屬性的詳細資訊
當組建代理程式執行必須讀取或寫入檔案的作業時,會使用工作目錄來儲存這些檔案。 例如,代理程式會將原始程式檔複製到此資料夾的子目錄中,如果建立二進位檔,則會儲存在此資料夾的其他子目錄中。
工作目錄語彙基元
雖然您可以針對 [工作目錄] 屬性指定常值路徑 (例如,c:\temp\build\),但是更加靈活的方法則是使用語彙基元來指定路徑。 您可以使用兩類語彙基元:
環境變數:環境變數包含系統環境和登入使用者的相關資訊。
例如,您已設定 Team Foundation Build Service 在稱為 BuildSvcAcct 的帳戶下執行。 您針對執行 Windows Server 2008 之組建電腦上的組建代理程式,指定 $(HomeDrive)\Builds 做為 [工作目錄]。 因此,組建代理程式通常會使用類似下列位置 C:\Builds 的實體目錄做為其工作目錄。
秘訣 若要在您的組建電腦上列出環境變數,請開啟命令提示字元並輸入 set。
Team Foundation Build 變數:您可以在組建代理程式工作目錄中使用下列變數:
$(BuildAgentId):自動產生的整數,可唯一識別 Team 專案集合內的組建代理程式。
$(BuildAgentName):組建代理程式的 [顯示名稱]。
$(BuildDefinitionId):自動產生的可唯一識別 Team 專案集合內組建定義的整數。
$(BuildDefinitionPath):用反斜線分隔的 Team 專案名稱和組建定義名稱。
工作目錄範例
例如,您可能擁有名為 BuildBot3 的組建代理程式。 您已在稱為 CoolApp 的 Team 專案中定義稱為 NightlyBuild 和 WeeklyBuild 的兩個組建。 您在 [工作目錄] 方塊中指定下列值:$(SystemDrive)\TeamBuilds\$(BuildAgentName)\$(BuildDefinitionPath)。 因此,BuildBot3 組建代理程式會建立並使用下列兩個工作目錄:
C:\TeamBuilds\BuildBot3\CoolApp\NightlyBuild
C:\ TeamBuilds\BuildBot3\CoolApp\WeeklyBuild
確保工作目錄不會過長
您指定的工作目錄不得造成組建代理程式產生長度超過 259 字元的實體路徑。 否則,您的組建會失敗並記錄此錯誤:TF10128: 路徑PhysicalPath 包含超過允許的 259 個字元。 請輸入或選取較短的路徑。 此問題可能會讓您驚訝,因為您通常可能並不會注意組建代理程式所建立的實體路徑。
若要解決此問題,您可以指定會產生較短實體路徑的工作目錄。 例如,您可以指定下列目錄:$(HOMEDRIVE)\bld\$(BuildAgentID)\$(BuildDefinitionID),該目錄會產生類似下列路徑的工作目錄:c:\bld\3\2\。
工作目錄中建立的子目錄
組建代理程式會在此路徑下建立下列子目錄並在其中工作。
子目錄 |
用於儲存下列類型的檔案… |
---|---|
Sources |
由組建代理程式讀取的檔案,例如原始程式檔。 您可以在每一個組建定義的 [工作區] 設定中指定它下載的檔案。 如需詳細資訊,請參閱使用組建工作區。 |
Binaries |
由組建代理程式編譯的檔案,例如已編譯的應用程式檔案。 |
TestResults |
由組建代理程式執行的任何測試產生的檔案。 |
使用組建代理程式執行測試
您可以設計會執行一個或多個自動化測試回合的建置流程。 如下表所示,某些類型的測試和測試作業需要有符合特殊需求的組件代理程式。
測試類型 |
Visual Studio 2010 必須安裝在組建電腦上 |
其他需求和資訊 |
---|---|---|
程式碼涵蓋範圍 |
是 |
無 |
自動程式碼 UI 測試 |
是 |
組建電腦必須以互動式處理序的形式執行。 如需如何設定這種組建電腦的詳細資訊,請參閱設定組建電腦。 如需這幾種測試的詳細資訊,請參閱使用自動化 UI 測試進行使用者介面測試。 |
產生資料庫測試資料 |
否 |
無 |
資料庫單元測試 |
是 |
無 |
一般測試 |
否 |
無 如需詳細資訊,請參閱建立會使用一般測試執行可執行檔的自動化測試。 |
負載測試 |
是 |
無 如需詳細資訊,請參閱使用已排序的測試設定測試回合序列。 |
MSTest 單元測試 |
否 |
無 |
已排序的測試 |
否 |
無 |
測試影響分析 |
否 |
無 |
Web 測試 |
是 |
無 |
如需如何定義會執行測試之建置流程的詳細資訊,請參閱使用您的建置系統執行測試。
安裝其他軟體
為了讓組建代理程式執行特定工作,您可能需要在組建電腦上安裝其他軟體。
安裝編譯程式碼所需的軟體
如果是要建置許多最典型的專案,組建代理程式不需要其他軟體就能辦到。 例如,在未安裝任何其他軟體的情況下,組建代理程式可以編譯基本 Visual C# WPF 應用程式。
然而,您必須安裝其他軟體才能編譯其他類型的專案。 例如,您必須安裝 Visual Studio 才能編譯「安裝專案」。
若要確保組建代理程式可以編譯您的專案
在執行組建代理程式的組建電腦上,安裝您的小組所使用的任何 Visual Studio 版本。
安裝開發人員環境中所安裝且為組建應用程式所需的任何其他軟體和元件。
安裝執行其他工作所需的軟體
若要讓組建代理程式執行其他各項工作,您需要在組建電腦上安裝其他軟體。 下表識別部分通用組建代理程式工作和執行這些工作所需的軟體。
如果組建代理程式… |
必須在組建代理程式電腦上安裝下列軟體… |
---|---|
建置 ASP.NET Web 應用程式專案 |
Visual Studio 2010 |
建置 C++ 專案 |
Visual Studio 2010 |
指派標籤到組建代理程式
隨著組建系統規模的增大,您可能需要定義特定的組建代理程式。 當組建代理程式具有特殊功能或者用於特定用途時,您應該指派一個或多個標籤給該代理程式。 這樣一來,當小組成員建立需要特定種類之組建代理程式的組建定義時,他們可以在組建定義中指定標籤。
您可以將一個以上的標籤套用至組建代理程式。 例如,您可以建立具有標籤 x86 和 Release 的組建代理程式,來指出設定代理程式編譯 32 位元應用程式的 Release 組態。
如果您在同一個組建電腦上執行多個組建代理程式,則它們可能會具有相同的功能。 因此,您可能想要將相同的標籤套用至該組建電腦上所有的組建代理程式。
使用標籤來代表組建代理程式功能
下表提供標籤名稱的範例和標籤名稱可以代表的組建代理程式功能。
您可以將下列標籤套用至組建代理程式… |
識別可以進行下列操作的組建代理程式 … |
---|---|
x86 |
編譯 32 位元應用程式 |
x64 |
編譯 64 位元應用程式 |
IIS |
編譯 ASP.NET Web 應用程式,然後將其放置並裝載於執行組建代理程式的組建電腦上 |
測試、壓力 |
執行於特定組建電腦上的組建代理程式,該電腦已設定 Test Professional 2010來執行負載和壓力測試。 |
使用標籤以平衡您的建置流程負載
您可以使用標籤來平衡小組必須執行之建置流程工作的負載。 例如,您可能擁有一個會驗證簽入且稱為「簽入組建」的組建定義。 (如需詳細資訊,請參閱定義閘道簽入組建來驗證變更)。此組建定義會經常執行,且一次僅執行它的一個執行個體。 因此,您會使用配備高效能硬體 (例如,處理效率高的多核心處理器和硬碟機) 的組建電腦。 然後,您會在該電腦上建立組建代理程式,並將簽入標籤指派給它。 您設定組建定義,以讓其僅在具有簽入標籤的組建代理程式上執行。
您擁有另一個稱為「快速追蹤組建」的組建定義,您可以利用該組建定義來處理一個小組正使用之最高優先順序專案的組建。 您設定滿足此特殊專案需求的另一個組建代理程式。 您將標籤 FastTrack 指派給它,然後設定組建定義,以讓其僅在具有此標籤的組建代理程式上執行。
若要將標籤套用至用戶端機器上的組建代理程式
按一下 [組建] 功能表上的 [管理組建控制器]。
[管理組建控制器] 對話方塊隨即出現。
按一下您想要套用標籤的組建代理程式,然後按一下 [屬性]。
[組建代理程式屬性] 對話方塊隨即出現。
使用下列其中一種方法來套用一個或多個標籤:
從清單中選取一個或多個標籤。
按一下 [加入新標記] 連結。 在 [加入新標記] 對話方塊中,輸入您想要套用之標籤的名稱。
若要將標籤套用至組建電腦上的組建代理程式
登入執行您要修改之組建代理程式的組建電腦。
依序按一下 [開始]、[所有程式]、[Microsoft Team Foundation Server 2010],然後按一下 [Team Foundation 管理主控台]。
[Team Foundation 管理主控台] 隨即出現。
在樹狀目錄窗格中,展開伺服器的名稱,然後按一下 [Team Foundation Build] 節點。
緊接在組建代理程式的名稱下方,按一下 [屬性]。
[組建代理程式屬性] 對話方塊隨即出現。
使用下列其中一種方法來套用一個或多個標籤:
從清單中選取一個或多個標籤。
按一下 [加入新標記] 連結。 在 [加入新標記] 對話方塊中,輸入您想要套用之標籤的名稱。
移除組建代理程式
您可以透過使用用戶端機器或者直接在裝載組建代理程式的組建電腦上,移除組建代理程式。
備註:移除組建代理程式並不會從組建電腦中解除安裝 Team Foundation Build Service。
若要透過使用用戶端機器移除組建代理程式
按一下 [組建] 功能表上的 [管理組建控制器]。
[管理組建控制器] 對話方塊隨即出現。
按一下要移除的組建控制器或組建代理程式,然後按一下 [刪除]。
若要從組建電腦移除組建代理程式
登入執行您要修改之組建代理程式的組建電腦。
依序按一下 [開始]、[所有程式]、[Microsoft Team Foundation Server 2010],然後按一下 [Team Foundation 管理主控台]。
[Team Foundation 管理主控台] 隨即出現。
在樹狀目錄窗格中,展開伺服器的名稱,然後按一下 [Team Foundation Build] 節點。
緊接在組建代理程式的名稱下方,按一下 [刪除]。
請參閱
其他資源
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2011 年 5 月 |
新增有關如何執行測試的資訊。 |
資訊加強。 |