第四章 使用Ant進行持續整合這一章是對Ant的一個基礎介紹,包括1.Ant構建文件 build.XML2.項目 3.目標 Steve Loughran的Ant in Anger中top-level targets的推薦命名如下: test— 運行JUnit測試 clean— 清空輸出目錄 deploy— 將JARs, WARs等文件部署到執行環境中 publish— 輸出源代碼和二進制文件到發布站點(指IIS,Html?我不知道) fetch— 從CVS中得到最新源代碼 docs/Javadocs— 輸出文檔文件 all— 執行以上所有(clean, fetch, build, test, docs, and deploy) main— 默認構建過程 (經常是build 或者build & test)internal targets的推薦命名如下: init— 初始化propertIEs執行其他初始化任務,讀入property文件 init-debug— 初始化調試屬性 init-release— 初始化發布屬性 compile— 實際的編譯 link/jar— 建立JAR文件或其它等價文件 staging— 預部署並且測試4.條件性目標 ant -build.xml build4.XML -Dproduction=true5.文件集和路徑設置 6.過濾器7.嵌套構建文件 8.property
總體來看ant是一個強大的自動化構建工具,代碼編寫完後的工作都可以交給ant來完成。這使nightly build成為可能,使用ant,甚至可以運行完測試代碼之後將結果生成Html,然後發email給開發人員,這樣開發人員就能在第二天早上看到build失敗的原因了,這樣開發人員第二天進能快速知道今天的第一件事是什麼,快速的進入一天八小時的工作狀態了。這一點和kent beck的《測試驅動開發》(中文版)中的某些觀點類似,即一天8小時的工作之後,不要急著加班將手頭的工作做完才回家,而是做到哪兒是哪兒,這樣第二天來的時候能快速的進入工作狀態,而不是從頭想,昨天做了哪些,今天應該開始做哪些。(晚上電腦不用關機,可以只關掉屏幕、鎖上鍵盤,或者將計算機設為休眠狀態,也能很大程度上讓第二天的"進入狀態"的過程更短)
對了,不知道有沒有IDE能在我寫Ant的build.XML文件的時候提供方便,最好是圖形界面,不用我對著枯燥的文本編輯器。這點以前netBeans的properties文件編輯器就不錯,能同時編輯幾個不同語言的propertIEs文件。