Visual Studio Application Lifecycle Management 使用者入門
本主題包含摘錄自 Jason Zander 部落格 2009 年 10 月文章的更新內容,其內容提供了令人信服的 Visual Studio Team Foundation Server 價值主張以及使用者入門的實際指引。 如果您對 Team Foundation Server 已經很熟悉而且想要開始使用,本主題也會根據您在軟體開發小組中扮演的角色,提供適當主題的連結。
Zander 是 Visual Studio 的公司副總裁。 本主題的螢幕擷取畫面已經更新,以便反映產品的最終版本。
本主題內容
教學課程:Microsoft Visual Studio Team Foundation Server 2010 使用者入門
Team Foundation Server 2010 以角色為基礎的工作
教學課程:Microsoft Visual Studio Team Foundation Server 2010 使用者入門
Team Foundation Server 的全新基本組態 (英文) 可讓您輕鬆地設定支援原始檔控制、工作項目和組建的 Team Foundation Server 版本。這是移轉 Visual SourceSafe 資產以及在流程中挑選新功能的絕佳位置。我想要逐步解說如何開始使用本系統。
這篇文章對於之前從未安裝或使用過 Team Foundation Server 的使用者最有用。Team Foundation Server 可支援含有報表的複雜環境、與 SharePoint 產品整合、支援跨多個網域、分散式資料庫等等。但是,我不會在此討論上述任何功能。我的目標是要協助您了解「為什麼要使用 Team Foundation Server」以及您如何開始使用本系統。
首先,我們來談談「為什麼要使用 Team Foundation Server」。Team Foundation Server 的目標是建立具有一組工具的中央儲存機制,而這些工具可讓不同的角色輕鬆地進行共同作業。您可以嘗試將多種不同的系統拼接在一起,如下所示:
在此情況下,每個系統都有自己的儲存體、自己的資產識別集合,以及自己的命令和工具。 讓這些系統運作就像嘗試裝配一組自訂立體聲元件一樣:雖然您可以成功完成,不過需要進行大量工作,而且將遺漏某些元件。
我比較想要的系統是能夠將這些項目整合在一起的系統,然後透過該系統進行我的預設工作流程:
這項整合可實現一些非常常見的情節。 在一般的工作日,我想要編輯原始程式碼、建置產品、測試產品、提報 Bug、修正 Bug,然後重複整個流程。 當單一整合式儲存機制可支援整個工作流程時,所有項目可能都彼此相關。 例如,當我簽入 Bug 修正時,我實際上想要查看透過已記錄之變更集所解決的這些缺失 (請參閱下列範例)。
Team Foundation Server 的基本組態可讓您精確地進行此作業,而這大幅改善了只有原始檔控制的缺點。此外,Team Foundation Server 的完整版本也加入了一些新功能,包括自動化測試、虛擬實驗室部署,以及架構驗證等等。這些功能會擴充您的工作流程,如下所示:
您可以決定其中哪些新元件要在使用 Visual Studio 時加入。
存取 Team Foundation Server 的方式有許多種。身為工程師的您,最常用的存取點應該是 Visual Studio 版本。不過,如果您是測試人員,可以使用新的測試管理員產品 (不需要安裝 Visual Studio)。如果您是專案管理人員,也可以使用 Web 介面、Microsoft Excel、Microsoft Project 或 (Visual Studio 2010 的新功能) Microsoft Office SharePoint Server 2007 的儀表板支援。稍後將詳細說明這點 (如需詳細資訊,請參閱 Team Foundation Server 2010 以角色為基礎的工作 - 編輯的附註)。
在這篇文章的其餘部分,我將提供一些逐步指示,讓您了解如何使用基本組態,透過 Team Foundation Server 開始進行第一個專案。
使用者入門
現在既然您已經具備概念層級,就可以開始裝配系統了。 您應該先從 Brian Harry 撰寫之 Team Foundation Server 文章 (這裡 (英文)) 中所列的步驟開始進行。這樣就會在具有預設集合 (因為很有創意,所以稱為 DefaultCollection) 的電腦上取得所有必要軟體。
此時,我們可以從 Visual Studio 連接至 Team Foundation Server 集合。達成此作業最簡單的方式是使用 [Team] 功能表 (您也可以使用首頁中的連結):
系統會要求您找出 Team Foundation Server 所在的伺服器。在這個範例中,我的 Windows 7 電腦名為 JLZW7。請使用 [加入] 按鈕,將伺服器加入至清單,然後按一下 [關閉]:
此時,您可以從下拉式方塊中選取伺服器、選取 DefaultCollection,然後按一下 [連接]:
[Team 總管] 索引標籤現在會顯示您的伺服器連接和 DefaultCollection,不過我們尚未擁有 Team Foundation Server 專案以儲存任何項目:
在本教學課程中,我已經建立了新的 Windows Form 專案做為範例方案 ([檔案]、[新增專案]、[Windows Form])。 如果您嘗試將這個新的程式碼專案加入至原始檔控制,就會收到錯誤。 例如:
當您選取 [將方案加入至原始檔控制] 功能表項目之後,就會收到錯誤「沒有可用的 Team 專案原始檔控制資料夾。」:
此錯誤並不直覺 (尤其,雖然專案一詞同時用於 Team Foundation Server 以及 Visual Studio 程式碼方案內部,卻有不同的意義)。此錯誤表示您必須建立實際的 Team Foundation Server 專案,才能包含用於工作的所有資產。請在 Team 總管中,以滑鼠右鍵按一下集合,然後選擇 [新增 Team 專案]:
在這個範例中,我將建立 Accounts Payable 系統的 Team Foundation Server 專案。這個專案將包含整個系統所需的所有方案、資料等等。輸入資料之後,請按 [下一步]:
雖然 Agile 範本是預設值,不過您也可以選取 CMMI。 您可以在 MSDN 上找到有關專案範本類型的詳細資料。 如果您要使用任何 Agile 方法 (例如 TDD),這就是較佳選擇。 進行選擇之後,只要按一下 [完成] 即可:
當您在建立專案時,將會收到各種狀態更新:
成功完成之後,請按一下 [關閉] 按鈕:
Team 總管現在已經備妥專案,可以保存工作項目、組建和原始檔控制:
此時,您可以更新專案集合。 讓我們再次將新的方案加入至 Team Foundation Server。請在 [方案總管] 中,以滑鼠右鍵按一下專案,然後選取 [將方案加入至原始檔控制]:
此時,您可以在 Team Foundation Server 中,針對方案建立新的資料夾,也可以接受預設值。完成之後,請按一下 [確定] 按鈕:
如果成功的話,[方案總管] 就會顯示這些檔案受到原始檔控制 (您會在檔案的前面看見 "+" 符號):
您也會看見發行方案所採取的原始檔控制動作清單。 加入註解,然後按一下 [簽入]:
請按一下 [是] 確認簽入。
此時,您的新方案就會列在 Team Foundation Server 中,可以準備用於工作項目。
Work Items
您可以使用 Team 總管、透過 Web 前端和測試管理員工具,直接在 Visual Studio 內部建立工作項目。若要查看工作項目,請開啟 Team 總管,然後展開 [工作項目]、[小組查詢] 和 [反覆項目 1]。然後,您可以按兩下任何查詢 (例如 [待處理的 Bug]),以便查看任何可用的項目:
我們的 Team Foundation Server 專案是空的,因此清單中沒有任何待處理的 Bug:
讓我們建立新的項目,實際處理業務。 請依序選取 [Team] 和 [新增工作項目] 功能表。 您可以在此建立許多類型的工作項目,以便追蹤功能、缺失等等。 我們將選取要開始處理的 Bug:
請針對新的 Bug 輸入所需的任何資料,然後按一下 [儲存工作項目],讓資料庫認可此項目:
如果您現在重新整理待處理的 Bug 查詢清單,就會看見新的 Bug:
讓我們加入實際的 Bug,以便修正專案。 在這個範例中,我建立了預設的 Windows Form 應用程式。 我們想要更新標題:
現在,我們必須修正 Bug。 請巡覽回 [方案總管]、選取 Form1.cs,然後選擇 [簽出以編輯]:
請按一下 [簽出] 按鈕確認:
現在,檔案旁邊具有核取記號,讓您知道該檔案已開啟,可進行編輯:
當您更新主視窗的 [文字] 屬性時,Visual Studio 就會自動為您簽出任何相依檔案:
雖然這是 Windows Form 應用程式,不過上述情況適用於所有方案/專案類型。 完成程式碼變更之後,請在 Visual Studio 的底部選取 [暫止的變更] 索引標籤:
在這個範例中,我們要修正 Bug,因此請按一下 [工作項目] 圖示按鈕:
請選取追蹤標題錯誤的 Bug #2。 我們將使用這個簽入來解決錯誤:
請加入任何所需的註解、按一下 [簽入],然後按一下 [是] 確認:
如果您重新整理 Bug #2,就會看見狀態變更為 [已解決] 而且記錄已更新:
請注意,變更集 (原始檔控制變更的集合) 已經自動包含在記錄中。
此時,您可以繼續視需要建立並修正 Bug,以便發行方案。
其他探索 Team Foundation Server 的方式
之前提到,我不需要使用 Visual Studio 本身來存取 Team Foundation Server 儲存機制。我們已經完成許多與其他用戶端 (例如 Web 和 Microsoft Office) 深度整合的工作。例如,我只要叫出 Web 瀏覽器,就可以使用伺服器名稱 (其中 8080 是預設通訊埠):http:// jlzw7:8080/tfs/,直接移至伺服器。
此時,我可以探索集合和專案。 如果您選取了我們剛才建立的新 AccountsPayable 專案,然後按一下 [繼續] 按鈕,就會取得詳細資料。 在這個範例中,只要巡覽至 [工作項目] 索引標籤,我就可以找到系統中的 Bug,包括最近解決的 Bug:
這是從任何電腦探索專案最簡單的方式,完全不需要進行任何設定。 此外,同樣支援使用 Microsoft Excel、Microsoft Project 等等。 這種存取方式可讓所有處理專案的人員 (工程師和專案管理人員) 一起工作。
此時,您已經擁有非常實用的資產集合,可用來完成作業。 對於目前使用 Visual SourceSafe 的使用者而言,您可能已經很滿意這種支援層級。您可以先放下本教學課程,如果之後想要嘗試一些進階功能,請再回來看看,例如我在這個教學課程 (英文) 中使用 Beta 1 所示範的測試情節。
組建支援
工作流程中的下一個常見部分就是自動化產品的組建。 假設您遵循了 Brian 的安裝指示,現在安裝 Team Foundation Server 的電腦應該具有本機組建支援。此時,第一個步驟是巡覽至 Team 總管、以滑鼠右鍵按一下 [組建定義],然後選取 [新增組建定義]:
這樣將會提供一組待填寫的定義,就像是程式碼專案屬性頁一樣:
[觸發程序] 頁面可讓我們決定啟動組建的時間。 您可以從中挑選許多選項:
[手動] 是預設值,也是我們要使用的選項。 我們必須使用此選項來啟動自己的組建。
當您想要在每次簽入之後擁有新的組建時,[連續整合] 就非常有用。 這個選項可讓您立即驗證新的變更,而非等候到許多簽入都混合在一起時才驗證。
[正在復原組建] 可讓您一起批次處理變更。當組建開始耗時,而且您無法分別進行每個組建時,這個選項就非常好用。
[閘道簽入] 可讓您先確定所有簽入都建置完成,然後再讓 Team Foundation Server 認可簽入。這個選項可確保您永遠不會向其他小組成員公開建置中斷。
排程的組建可用來取出每日組建,讓整個小組測試。
您可以建立並使用許多不同的組建定義,以便針對不同的目的採用不同的組建類型。
您可以在空閒時探索所有索引標籤 (每個索引標籤都使用產品來完整記載)。 不過,我們必須解決 [組建預設值] 的黃色警告符號,方法是提供組建一個存放新組建的位置,在這個範例中,就是我在電腦上建立的公用 UNC:
現在,您可以將組建定義儲存至 Team Foundation Server。如果我們返回 Team 總管,就可以將專案的組建排入佇列:
我們會收到確認對話方塊,此時只要選取 [佇列] 按鈕即可:
這樣就會將電腦上的組建排入佇列,如狀態頁面所示:
如果您按兩下排入佇列的組建,就會收到組建的詳細狀態:
您可以在其中查看警告和錯誤、檢視記錄檔、巡覽至置放位置等等。 例如,如果您選取了 [檢視記錄檔] 連結,就可以查看已執行的組建指令碼 (子集):
如果您選取了 [開啟置放資料夾] 連結,就會前往置放位置:
現在,任何人都可以挑選組建並進行其每日測試、發行至客戶等等。
此時,您已經真正擁有充分運用 Team Foundation Server 基本功能所需的所有項目。
Team Foundation Server 2010 以角色為基礎的工作
當小組開始使用 Visual Studio Application Lifecycle Management (ALM) 時,系統管理員會設定伺服器,專案管理人員會建立 Team 專案,其他小組成員則會設定工作環境。 本主題其餘部分的連結將根據下列軟體開發角色,逐步引導您完成開始使用 Team Foundation Server 的工作:
Team Foundation Server 的系統管理員
專案管理人員
原始檔控制和組建管理員
個別小組成員
Team Foundation 的系統管理員工作
如果您遵循本主題前面的教學課程,應該使用基本組態來安裝了 Team Foundation Server。 不過,您可能必須執行不同的安裝工作,包括升級 Team Foundation Server 的先前安裝或是執行 Team Foundation Server 的自訂安裝或其中一個必要條件。
如需詳細資訊,請參閱 Microsoft 網站上的這個主題:Team Foundation 的安裝指南 (英文)。
如果您遵循本主題前面的教學課程,就會在 Team Foundation Server 安裝期間自動被授與建立專案的所有必要權限。 您可能會想要將身為系統管理員、專案系統管理員和其他角色所需的權限授與其他使用者。
如需詳細資訊,請參閱設定使用者、群組和使用權限。
建立維護計劃,以便協助確保系統在發生硬體失敗或其他事件的情況下備份資料。 如需詳細資訊,請參閱備份和還原您的部署。
如果任何小組將使用 Visual Studio Lab Management,請安裝 Microsoft System Center Virtual Machine Manager、設定 Lab Management 並建立虛擬環境。
如需詳細資訊,請參閱第一次設定 Lab Management。
如果任何小組將從遠端部署組建並執行測試,請在實體或虛擬機器上安裝測試控制器及測試代理程式。
如需詳細資訊,請參閱設定測試電腦以便執行測試或收集資料。
如果您遵循本主題前面的教學課程,應該使用基本組態來安裝了 Team Foundation Build。 不過,您可能必須執行特定管理工作,才能取得所需的組建環境。
如需詳細資訊,請參閱管理 Team Foundation Build。
當您的作業需求變更時,請檢閱用於變更或修改部署的選項。 如需詳細資訊,請參閱管理伺服器組態。
專案管理員的工作
安裝您將使用的一個或多個 Team Foundation 用戶端。
如需詳細資訊,請參閱安裝 Visual Studio。
決定您的專案資源需求以及用來建立 Team 專案的專案集合。
如需詳細資訊,請參閱啟動 Team 專案的快速入門指南。
選擇流程範本。
如需詳細資訊,請參閱選擇流程範本。
在 Team 總管中,建立 Team 專案。
如需詳細資訊,請參閱 建立 Team 專案。
(選擇性) 定義 Team 專案的產品區域和里程碑。
如需詳細資訊,請參閱建立和修改區域和反覆項目。
將使用 Team 專案所需的權限授與小組成員。
如需詳細資訊,請參閱 將使用者加入至 Team 專案。
(選擇性) 對特定小組成員授與額外使用權限。
您或其他系統管理員可能需要提供額外的使用權限給負責在 Team Foundation 版本控制底下管理原始程式碼、管理組建、管理測試和測試的實驗室環境,以及其他專案層級活動的小組成員。 您可以將特定使用權限指派給個別的小組成員或群組。
如需詳細資訊,請參閱 Team Foundation Server 使用權限中的下列章節:
組建層級使用權限
專案層級使用權限
工作項目追蹤的區域和反覆項目層級使用權限
版本控制使用權限
Lab Management 使用權限
(選擇性) 對報表作者授與其他權限。
若要建立或修改存取儲存在資料倉儲中之資料的報表,小組成員必須擁有組成資料倉儲之資料庫的讀取權限。 如需詳細資訊,請參閱授與 Visual Studio ALM 所需之資料倉儲資料庫的存取權限
將 Team 專案資源和註冊活動告知小組成員。
如需詳細資訊,請參閱將 Team 專案資源告知小組成員。
計劃產品。
如果您的 Team 專案使用 MSF for Agile Software Development v5.0 的流程範本,您就可以使用 [產品計劃] 活頁簿來建立產品待處理項目。 您可以使用 [產品計劃] 活頁簿來管理使用者本文的待處理項目,以及平衡數個反覆項目 (也稱為衝刺) 間的工作負載。 如需詳細資訊,請參閱產品計劃活頁簿。
如果您的 Team 專案使用 MSF for CMMI Process Improvement v5.0 的流程範本,您可以使用 [產品需求] 小組查詢著手規劃產品。 您可以在 Office Excel 中開啟此查詢、加入需求,然後將需求發行至 Team Foundation。 您也可以使用 Office Project 來規劃和排定專案。 如需詳細資訊,請參閱下列主題:
版本控制和組建管理員的工作
設定版本控制。
如需詳細資訊,請參閱管理 Team Foundation 版本控制。
如果您是使用 Team Foundation Build,請為每個 Team 專案建立組建定義。
如需詳細資訊,請參閱 建置應用程式。
個別小組成員的工作
安裝您會使用的 Team Foundation 的用戶端。
如需詳細資訊,請參閱安裝 Visual Studio。
設定您的版本控制工作區。
如需詳細資訊,請參閱建立工作區以使用 Team 專案和將檔案放入版本控制下。
讓自己熟悉如何建立、修改和尋找工作與其他工作項目。
如需詳細資訊,請參閱追蹤工作使用者入門。