如何在 TFS 2010 中自動化建置 Java 專案 ( Ant Ver. )
自動化建置最主要的用途是在於,可以提早讓我們成員可以知道有人的程式碼在整合的過程中出現問題。
這個對於隨時需要處於可以交付一個「可執行」的專案時,是一件非常重要的事。
以往,我們若是要交付「可執行」的程式出去時,所有的人員一定會全部亂成一團。
不然就是要搞好幾個小時以上才能把「可執行」的程式交出來。
而我們的團隊中有可能除了 .NET 之外也可能會有 JAVA ( 若是想要在 Team Build 建置 .NET 1.1 請參考此文章 )
難道我們除了版本管控可以統一外,是否連 Auto Build 也能統一地納管兩邊呢?
是否也能讓 Java 和 .NET 一樣除了 Build 之外也可以執行 單元測試呢??
是的!建構管理人員不用再煩惱這個問題啦!
小弟是參考長澤桑的這篇文章 極意的TFS vol.5 ( 日文好的朋友們可以去看看!)
由於原文是日文,所以小弟就照本宣科也搞了一個 ,並再針對自已實作時覺得需要注意的地方也補充說明
希望這些對已經有在用 TFS 管理 Java 的團隊們可以有幫助!
=============== 環境設定 ==================================================
請先在 Team Build Server 上安裝 「 Team Build Server 擴充套件」
http://visualstudiogallery.msdn.microsoft.com/en-us/2d7c8577-54b8-47ce-82a5-8649f579dcb6
在 Team Build Server 中請安裝 ANT 套件,並將元件 Copy 至 「非」workspace 的目錄中。
ANT 下載位置: http://ant.apache.org/bindownload.cgi
若是 Maven 的同好就不好意思了!請自行參考
接下來就是設定系統環境
請分別新增
JAVA_HOME
C:\Program Files (x86)\Java\jdk1.6.0_13 (請依實際安裝路徑)
ANT_HOME
C:\Java\Ant\apache-ant-1.8.1 (請依實際安裝路徑)
另外Path 中請在最後加入以下 ( 記得要補上 「;」 )
%JAVA_HOME%\bin
( 若是版本有出入請自行補完 )
============= 檔案設定 ==========================================================
開啟 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\BuildExtensions\ Microsoft.TeamFoundation.Build.Extensions.Ant.targets
要修改 ANT 的來源套件
<ANT_HOME Condition=" '$(ANT_HOME)'=='' ">$(TeamBuildExtensionsRefPath)\apache-ant</ANT_HOME>
修改後
<ANT_HOME Condition=" '$(ANT_HOME)'=='' ">C:\Java\Ant\apache-ant-1.8.1</ANT_HOME>
(請依實際安裝路徑)
============= 如何產生 Ant 檔案? ==========================================================
若已經是 ANT 達人的話!可以直接跳過這一段啦!
最後這個檔案請務必先加入至版本管控,這樣子 Team Build Server 才有辦法透過 Ant 去建置 Java 的 Project
============= 終於正式的才要開始 ==========================================================
是的!.NET 的開發朋友就幸福多了!只要有 sln 檔以上的動作統統都省了! ( 是的,.NET 的 sln 檔就可以直接給 MSBuild 執行 )
連同 單元測試、程式碼分析 之類的設定都會依 sln 的設定為主,幫我們自動執行和分析結果
設定名稱
請注意!這裡的路徑就是代表之後 Team Build Server 要抓的路徑內容 ( 可多個 )
指定那一台機器要 Build
這裡我們是用 ANT 做為我們的 Build
請選擇 Eclipse 所產生好的 Build.xml
太棒了!總算看到最後建置成功的畫面!
確實會產生 .class 檔 !執行也都沒問題!讚!!
個人感想
這些東西都要開發人員自已去組合 實在有點辛苦!
只要有一個地方錯了!基本上 Ant 就沒辦法正常執行 ( 這還不包含 Java 的 )
這還不包含 JUnit 、JAVA 的程式碼分析 、 自動化定時執行建置、佈署發佈通知、報表等等的後續動作
相關文章
TFS 專用的 Eclipse 整合套件的安裝與設定
http://liveriver.spaces.live.com/blog/cns!3E957722FC02B734!1247.entry
如何在 Eclipse 匯入 TFS 中的專案
http://liveriver.spaces.live.com/blog/cns!3E957722FC02B734!1385.entry
其他參考文章
http://chris701203.pixnet.net/blog/post/21777867
http://blogs.msdn.com/b/tomohn/archive/2010/06/12/essense-of-tfs-vol-5.aspx
抱歉!本來還有其他的!但 只剩這兩個小弟還記得的 Orz