很多 .NET 開發人員聽過或是有用過 Team Foundation Server(TFS),這不只是一套版本控管的產品,TFS 也涵蓋了軟體開發管理的功能,如果只是把 TFS 單純當做版控工具來使用就大材小用了,而這一篇文章所要講的則是「Team Foundation Service」,簡單來說,Team Foundation Service 是 TFS 的雲端線上版,為何要加上「雲端」這名詞呢?原本的 TFS 就有提供線上版的功能,不過只存在於各自建置的 TFS 服務上,但是 Team Foundation Service 所強調的是「可以從任何地方進行存取,且支援各平台的開發環境及開發工具。」
不久前 Microsoft Build 2012 (2012-10-31) 發佈了這一項 Team Foundation Service 的更新,這一項服務在去年的 Build conference 就可以經推出了預覽版(preview),一開始是採用「邀請碼」的機制,只有獲得邀請的人才有機會體驗這一項服務(就像一開始的 Gmail 與 Google Plus 一樣),到了今年的六月時就取消了邀請制,而讓這一項服務成為公開預覽版,任何人都可以試用,而現在這項服務更新為正式版本。
Team Foundation Service updates - Oct 31
Team Foundation Service 正式推出後就勢必會有費用上的考量,現在的收費方案還不是很明朗,如何收費以及什麼樣的費用可以使用到什麼樣的服務內容,這些要等到 2013 年時才會正式的發佈,現階段只知道對 MSDN 訂閱者是完全免費,不過 Team Foundation Service 卻蠻佛心的提供了免費使用的方案,這個免費方案(Free Plan)是可以讓五個以下的 User 而且是沒有限制專案數量的使用,是不是看了很心動呢?
2013-11-18 更新
在 2013-11-13 的 Visual Studio Launch 已經正式發表了「Visual Studio Online」的服務,Visual Studio Online 也就是這篇文章所說的 Team Foundation Service,並且公佈服務的收費方式,但仍然維持 Visual Studio Online Basic 的五人以下使用免費的方案,詳細內容可以查看以下文章:
Team Foundation Service
https://tfs.visualstudio.com/en-us/
為什麼要用 TFService 呢?單純使用版控也可以自行架設 SVN Server 來做管理,又或者也是可以使用 GitHub 呀!
可以自行建立 Team Foundation Server, SVN Server 或是 Git 來做版本管理,但必須另外準備機器並且要自行進行安裝與設定管理,如果是公司行號或是稍具規模的開發團隊就比較適合這樣的方式,但如果是小型團隊或是只有一個人呢?想必沒有多餘條件可以進行這樣的建置。
尤其是一個人開發,有些人會在開發電腦上自行建置 SVN Server,這也是可以,但是開發環境與版控 Server 都在同一台電腦上,這樣的風險就很高,萬一有個閃失,開發的程式碼與版控的原始碼都付諸流水,這樣的原始檔版本控管一點意義也沒有呀(小弟本人就有這樣的經歷)。
至於 GitHub,也是很多人的選擇,但是免費方案的使用則是必須將原始碼公開,對於單純只想要對開發專案做版本控管就不適合,除非你選擇付費,而像這類型的線上版本控管服務也是有很多,甚至有些服務也是有提供免費方案,但就會有很多的限制,例如使用人數只限一人或是有限制簽入的專案數量等,限制東限制西,無非就是要你掏錢出來買服務,但「使用者付費」是理所當然的,無論如何只要記住一句話「免費的,最貴」!
而微軟所推出的 Team Foundation Service 雖然不是個免費的服務,但是卻提供了不錯的免費使用方案,
Free Plan:https://tfs.visualstudio.com/en-us/pricing/information/
Free Plan 是提供五人以下團隊來使用,且沒有專案數量的限制,除了基本的版本控管之外,也提供了 Work Item 的追蹤記錄功能,每個專案也可以選擇使用何種開發方式(Scurm or Aglie or CMMI)等,光是看到沒有專案數量限制這一點就很吸引人了。
可以使用 TFService 的開發工具為 Visual Studio 2012(Ultimate, Premium, Professional),另外使用 Visual Studio Express 2012(for Window 8 , Windows Desktop, Windows Phone, Web)也都可以使用 TFService 的服務,而 Visual Studio 2010 同樣也可以使用(我的 VS2010 有更新到 SP1),另外除了 Visual Studio 2012, 2010 外也有支援 Eclipse 與 XCode。
其餘相關資訊就請各位到 TFService 的網頁上看個仔細囉。
至於 Team Foundation Service 有些什麼樣的功能呢?我建議各位可以先詳細閱讀網站上的「fetures」,
https://tfs.visualstudio.com/en-us/home/features/feature-tour/
在「features」的頁面裡用以下的主題來說明 Team Foundation Service 的功能,
看了這麼多之後一定會有人躍躍欲試,但怎麼入門呢?別擔心,在網站有「LEARN」這個單元,在這個單元中鉅細靡遺地教你怎麼使用,
https://tfs.visualstudio.com/en-us/learn/start/get-started/
如果還沒有申請使用 TFService 的朋友進入到 TFService 時應該會看到如下圖所標示的「Sign up for free」,
只要你有 Windows Live ID 帳號就可以申請使用 TFService,而 Windows Live ID 最常見的就是 hotmail 帳號,很多人一開始使用 MSN 時就有註冊,
https://accountservices.passport.net/ppnetworkhome.srf?lc=1028&mkt=ZH-TW
如果你已經有了 Windows Live ID 後就可以申請使用 TFService 服務,以下為建立帳號的畫面,在 Account URL 的欄位中填入一個日後你想要使用的名稱,這個名稱可以跟你的 Windows Live ID 不同,可以選個比較好記或是適合開發團隊的名稱,
因為現階段一組 Windows Live ID 只能申請一次 TFService 的服務,所以就會出現以下的畫面,而在以後的收費服務方案正式公布之後或許會有所調整,
輸入你所想要的 TFService Account URL 名稱後再按下 Create Account,大約不到一分鐘的時間(看你的網路速度而定)就完成建立並且將頁面轉到個人的TFService 服務入口網頁,
至於怎麼使用的話,我會建議各位先看「Beginner's guide」,
「Beginner's guide」的內容是預設連結到「Connect Visual Studio to TFS」,
建立 Team Project 並在 Visual Studio 2012 中簽入專案原始碼
在「Beginner's guide」的「Create a team project」說明中就很清楚說明了如何在 TFService 建立一個新的 Team Project,所以這邊就不再重複說一次,但是在下一個單元「Upload your code」這邊就有可能會讓人摸不著頭緒,對於曾經使用過 TFS 的開發人員還可以自行摸索出來,但對於沒有接觸過 TFS 的開發人員就會搞不懂了,所以我就特別說明一下這一個步驟。
首先我這裡先建立好一個 Team Project,
接著就是開啟 Visual Studio(我這邊所使用的是 VS2012)並且開啟建立好的專案,
再來就是要把這個專案加入到 TFService 中,
接下來會跳出「連接到 Team Foundation Server」的視窗
按下「伺服器」的 Button
接著出現「新增/移除 Team Foundation Server」的視窗,假如你之前沒有使用過 TFS,那麼清單就會是空空的,
接下來選擇「加入」Button
出現「加入 Team Foundation Server」視窗
這邊就填入一開始我們所申請的 TFService Account URL,
如「https://你所使用的名稱.visualstudio.com/DefaultCollection」或「https://你所使用的名稱.visualstudio.com/」,記得前面的「https://」是需要的,
填寫完成之後就按下「確定」Button,接著就會出現「登入 Team Foundation Server」視窗,在這邊就輸入你申請 TFService 時所使用的 Windows Live ID,
完成加入 Team Foundation Server,完成加入 TFS 之後就可以點選「關閉」Button
回到「連接到 Team Foundation Server」視窗,可以看到已經選擇了剛剛加入的 TFS 並載入 Team Project 清單,這當中也包含了我們所建立的「MVC_First」,
此時就勾選「MVC_First」項目並且點選「連接」Button,
再來會出現「將方案 MVC_First 加入至原始檔控制」視窗,這邊是要確定我們的程式原始碼方案要放在 Team Project 下的那一個地方,依據我的習慣,我會把程式碼的方案給另外建立一個「Solution」資料夾,專門放置程式碼方案,建立好資料夾之後並反白選擇「Solution」資料夾,
按下「確定」Button 後就結束了為 Solution 加入原始檔控制的設定,此時原本的「將方案 MVC_First 加入至原始檔控制」視窗會關閉,接著可以在 VS2012 的方案總管中看到每個檔案旁邊多了綠色「+」符號圖示,這表示檔案已經加入原始檔控制,但是還沒有把檔案給簽入到 TFS 上,
要知道有多少的程式檔還沒有被簽入,可以開啟「Team Explorer - 暫存的變更」就可以看得到,
如果沒有開啟「Team Explorer」,可以在「檢視 > Team Explorer」點選開啟,
「Team Explorer」會跟方案總管出現在同個顯示區裡的其中一個頁籤,
最後我們就先做第一次的簽入,這邊提醒一下大家,把原始檔簽入到 TFS 的時候最好填寫「註解」,這樣才可以知道每次簽入的目的,而簽入原始檔也不要累積了一堆變更後才做一次的簽入,這樣就失去了版本控管的意義,把簽入變更的範圍縮小,如此各個版本的變化也才能夠做清楚的辨識,
確定好要簽入的變更以及填寫好簽入註解之後就點選上方「簽入」的 Button,這樣就把原始碼簽入到 TFService 了,
簽入前的確認
開始簽入
簽入中
完成簽入
回到「方案總管」可以看到原本每個檔案的旁邊都有綠色「+」符號圖示都已經變成了藍色鎖頭的圖示了,
接著回到 Team Foundation Service 的 Account 入口,進入「SOURCE」中就可以看到剛剛我們所簽入的原始碼,
好了,就說到這裡吧,TFS 的管理並不是三言兩語或是一篇文章就可以清楚說明的,所以 Team Foundation Service 網站中的「LEARN」教學單元就需要好好地仔細看看,在「Visual Studio」的教學項目中以幾個基礎的操作來做說明:
希望大家可以好好的詳細閱讀並了解。
這一篇就說到這裡為止吧!現在的開發人員大多數都已經有版本控管的觀念了,而 TFS 所提供的並不只有版本控管這一個功能而已,還包括了軟體開發的管理、單元測試、Build、Code Review 等,當專案開發規模越來越大的時候就必考慮到上述的種種環節,對於小型開發團隊來說,自行架設 TFS 就不是一件容易的事情,更何況還要管理與使用了,現在微軟提供了這麼好的一個服務,尤其對小型開發團隊來說真的是一大福音,無論是不是要進行軟體開發管理或是單元測試,但至少可以使用 Team Foundation Service 來做程式原始碼的版本控管,這麼好的服務是真的要好好利用!
延伸閱讀
Team Foundation Service 使用 Git 與 TortoiseGit
以上
好文一篇,學習了。
回覆刪除過獎了,感謝 KKBruce 的回應。
刪除太棒了,終於等待是值得的
回覆刪除讚啦!超詳細的 :)
回覆刪除感謝 Franma 的回應.
刪除goooood
回覆刪除gooooooood
回覆刪除