本月初,我們發布了TFS新基礎配置。該配置為建立支持源碼管理,工作項和生成(builds)的TFS版本提供了便利。 這是一個好機會將你在VSS(Visual Source Safe)上的資源遷移到TFS,并且還可以選用一些新的特性。現在VS2010 Beta2的正式版已經發布了,下面是該系統的入門指南。
這篇文章對那些還沒有安裝或使用過TFS的人將最有幫助。TFS有對復雜環境的良好支持。比如,報表,SharePoint的整合,支持跨多域,分布式數據庫等等。不過我不打算在這里講述其中的任何一個部分,我的目的是幫助你們了解為什么我們要選擇TFS,以及如何使用它。如果你是VSS的用戶, 在今后的文章中,我會講述如何將VSS數據庫遷移到TFS上。
.png)
在上圖中,每個系統都有獨立的存儲空間,資源標識集,命令和工具集。要讓整個系統工作起來,就像把一組自定義立體組件聯接在一起:可以實現,但工作量巨大,而且可能在一些地方出現紕漏。
我更想要的就是這樣一個系統,它可以將這些工作整合到一起并實現我默認的工作流程。
.png)
這個整合實現了一些非常常見的場景。例如每天我會編輯源代碼,生成產品并測試它,報Bug并修復它,周而復始。當有一個整合的系統可以全部支持這些工作流程時,那么所有的工作就可以被關聯起來。例如,當我簽入Bug的修復時,我很想看到那些缺陷被解決時這個變更集能被紀錄下來。(詳見下面的例子)
TFS的基礎配置可以讓你精確地做到這些。這跟簡單的源碼管理相比是一個巨大的進步。TFS的完整版將會加入一些新的特性,包括自動化測試,虛擬實驗室的部署和架構驗證。下面是擴展后的工作流程:
.png)
當你使用Visual Studio 加強版和旗艦版的時候,你可以根據需要選擇安裝這些新組件。
有許多方法可以訪問TFS。開發人員經常會通過Visual Studio來訪問它。測試人員可以通過新的Test and Lab Manager來訪問TFS(沒有必要安裝VS)。如果你是項目經理,你也可以通過web接口,Excel,Microsoft Project,或者dashboards的MOSS支持(VS2010的新功能)來訪問TFS。更多相關內容以后介紹。
在這篇文章的其余部分,我會向你們逐步介紹如何使用基礎配置來開始我們的第一個TFS工程。
入門指南
現在, 有了概念層次的了解,是時候把它們連接起來了。以Brian Harry的 TFS文章所列出的步驟為開端。所有必要的軟件會以默認集合(創造性的稱為DefaultCollection)的形式安裝到你的機器上。
在這里我們能通過Visual Studio連接到TFS里。做到這一點最簡單的方法是使用菜單“團隊”(你也可以使用起始頁上的鏈接):
.png)
這里需要輸入TFS的服務器名稱。例如,我的Windows 7機器:JLZB2REL。通過添加按鈕把服務器加入到列表里, 然后點擊關閉:
.png)
在這里,你可以從組合框里選擇服務器,接著選擇DefaultCollection,然后點擊連接:
.png)
現在團隊資源管理器選項卡有了服務器連接和DefaultCollection,但我們還沒有一個可以存儲東西的TFS項目:
.png)
我為本教程創建了一個新的Windows窗體項目作為我們的解決方案樣本(文件,新建項目,Windows窗體)。如果你試圖添加新的代碼項目到源代碼管理,會出現錯誤。例如:
.png)
你選擇“將解決方案添加到源代碼管理”菜單項后,你會得到“沒有可用的團隊項目源代碼管理文件夾”的錯誤信息:
.png)
該錯誤不是很直觀(特別是所提供的詞項目是用于TFS和你們代碼解決方案里面,而它們是不同的概念)。此錯誤的意思是你必須創建一個真實的TFS項目去包含你工作中有用的資源。在團隊資源管理器中,右鍵點擊你的集合,選擇新建團隊項目:
.png)
在這里我將為應付帳款系統創建一個TFS項目。該項目將包含整個系統所有需要的解決方案,數據等。填寫完資料,點擊下一步:
.png)
默認的是Agile模板,但你也可以選擇CMMI模板。關于模板類型你可以在MSDN上獲取更詳細的說明。如果你正在使用agile方法(比如TDD),這是個不錯的選擇。選擇后,點擊完成。
.png)
項目創建過程中,會有各種狀態更新。
.png)
成功后,點擊關閉按鈕:
.png)
團隊資源管理器顯示了該項目,將包含工作項,生成和源代碼管理:
.png)
此時可以更新項目集合。再增加一個解決方案到TFS中:右擊解決方案資源管理器中的項目,選擇“將解決方案添加到源代碼管理”:
.png)
此時可以在TFS中為解決方案新建一個文件夾或者只是采用默認值。如果準備好了,請點擊確定。
.png)
到此就可以在解決方案資源管理器中看到所有文件已經在源碼管理下了。(查看文件前面的“+”號)
.png)
此時可以看到列出的源代碼管理器可采取的公開解決方案的動作。添加注釋然后點擊簽入:
.png)
點擊是確認簽入。
.png)
此時新的解決方案就在TFS中了,并且可以開始工作項了。
工作項
可以直接在Visual Studio里用團隊資源管理器或者通過網頁前端和Test and Lab Management工具 來創建工程項目。打開團隊資源管理器,并展開工作項下的Team Queries項來瀏覽你的工程項目。也可以通過雙擊任意查詢選項(例如Active Bugs)來瀏覽任意你所能看到的項目。
.png)
因為我們的TFS工程是空的,所以在列表中沒有active Bug。
.png)
創建一個新的bug,選擇菜單:團隊,新建工程項。這里可以創建多種工作項來跟蹤功能點,缺陷等等。選擇Bug繼續:
.png)
為這個新的Bug填入相關資料,然后點擊保存工程項來提交到數據庫中。
.png)
如果現在刷新Active Bug查詢列表,你會看到這個新的Bug:
.png)
現在添加一個真正的Bug來修復我們的工程。在我的例子中,只是創建了一個默認的Windows Forms應用程序。如要更新標題:
.png)
現在我們需要修復這個Bug。重新回到解決方案資源管理器,選擇Form1.cs,然后選擇“簽出以進行編輯”:
.png)
點擊“簽出”按鈕來確定:
.png)
現在在文件的旁邊會有一個打勾的標記,這樣你就知道它已經可以編輯了:
.png)
當你更新主窗口的Text屬性時,VS會自動簽出任何依賴的文件:
.png)
這個例子雖然是一個Windows Forms應用程序,但它也支持其他所有的solution/project類型。現在我們對代碼改動滿意了,在VS的底部選擇“掛起的更改”標簽。
.png)
在這個例子中,我們修復了一個Bug,所以點擊“工作項”圖標按鈕:
.png)
選擇用來跟蹤我們標題錯誤的Bug#6。我們想要通過這個簽入來解決它:
.png)
添加注釋并點擊簽入,然后點擊“是”確認。
.png)
.png)
如果刷新Bug#6,你會看到現在狀態已經變為Resolved,并且歷史紀錄已經更新了。
.png)
請注意“變更集”(源碼管理改變的集合)已經被自動添加到歷史紀錄中。
.png)
這時候可以按你工程需要繼續創建和修復Bug。
其他訪問TFS的方法
我前面提到過沒必要必須使用VS來訪問TFS。我們已經將TFS與其它客戶端作了許多深層次的整合,例如網頁和Office。舉個例子,我可以通過網頁瀏覽器,很簡單地用服務器的名字連接到我的服務器(8080是默認端口):http://jlzb2rel:8080/tfs/
.png)
現在我可以瀏覽我的集合和工程了。如果你選擇我們剛剛新建的AccountsPayable項目,然后點擊“繼續”按鈕,會看到更多的信息。在這個例子中,通過導航到Work Items標簽,可以找到這個系統中所有的Bug。
.png)
這確實是一個瀏覽你的工程的簡單方法。可以在任何一臺電腦上,并且不需要安裝額外的東西。這些操作在Excel,Microsoft Project等其他軟件中也有相關的支持。這種訪問方式使該項目中的所有成員一起工作變得更加簡單。
此時,你擁有了一套非常有用的工具來輕松完成工作。如果你在使用VSS,僅僅是這些內容就已經令人興奮了。現在可以放下這個教程,休息會再回來,如果你想要嘗試一些高級屬性的話,例如測試場景。我會使用beta 1在這個教程中來演示。
生成支持
工作流程的下一個典型的環節就是自動生成產品。如果遵循Brian的安裝說明,那么現在你的機器上就有了TFS基本的本地生成支持。第一步是要導航到團隊資源管理器中,右鍵點擊“所有生成定義”,選擇“新建生成定義”:
.png)
有一系列的定義需要填,就像一個代碼項目的屬性頁:
.png)
觸發頁面使我們能夠決定生成何時開始。你可以從下列項中選擇:
·默認情況下使用手動項。我們必須以這一項開始我們自己的生成。
·每一次簽入后,當你想擁有一個新的生成的時候,持續集成是非常有用的。它允許你立刻驗證新的簽入而不用等很多的簽入混合在一起后再驗證。
·滾動生成提供了一種批處理改變的方法,當開始生成要花一點時間并且你無法去做每一項時,這種方法很便利。
·封閉簽入讓你確保所有的簽入傳入TFS前被生成。并確保你不會對你項目組的其它成員造成生成破壞。
·計劃生成為整個團隊做每日生成進行了有益的嘗試
可以創建和使用多個不同的生成定義,允許您根據不同的目的來使用不同類型的生成。
你可以在空閑的時候查看所有標簽(每一項在產品上都完整的文檔說明). 但是我們需要提供給生成一個存儲新生成的位置來解決默認生成中的黃色警告標志,在這里,我在我的機器上創建了一個公共的UNC:
.png)
現在可以保存生成定義到TFS。如果回到團隊資源管理器,我們可以“使新的生成入隊”:
.png)
在跳出的確認對話框中,選擇排隊:
.png)
這是我機器上狀態頁顯示的已排隊的一個生成:
.png)
如果雙擊隊列中的生成,可以得到這個生成的詳細狀態:
.png)
從這里你可以看到警告和錯誤,日志文件,導航到Drop的目錄等。例如,如果你選擇“查看日志文件”,你能看到執行生成的腳本(子集):
.png)
如果你選擇打開Drop文件夾鏈接,你會被帶到我們drop的位置:
.png)
現在任何人都可以選擇生成來做他們日常測試,或發布給客戶等。
此時您已經知道利用了TFS的基本配置所有東西。
將來我會做一個如何安裝使用虛擬實驗室系統的教程(Visual Studio 旗艦版的一部分),使您能夠部署復雜的應用程序到Hyper - V的環境,做自動化測試。
創建一個新的TFS集合
[注意:這部分是完全可選的] 如果你喜歡你可以在一個TFS中存儲你所有的工作。如果你是一個Visual Source Safe用戶,你可以跳過這一整部分。但是如果你想創建一個新的頂級集合,相當的簡單。第一步是啟動,然后是團隊基礎管理控制臺:
.png)
控制臺啟動后,選擇“團隊項目集合項”, 點擊“創建團隊項目集合”鏈接:
.png)
為項目的收集填寫一個你想要描述的名稱后,點擊“下一步”:
.png)
接受數據層的默認值,然后點擊“下一步”:
.png)
TFS基本配置不支持實驗室管理,因此直接下一步:
.png)
在這里所有需要的數據都被配置了,你可以選擇“核實”:
.png)
驗證這些信息主要是為了集合可以順利的創建:
.png)
當核實結束后,點擊創建:
.png)
這一步為TFS的每一個配置提供所有需要的東西。點擊下一步就完成了:
.png)
你將會看到一個默認版本的新項目集:
.png)