利用Ant和Eclipse有效地提高部署工作效率

來源:互聯網
上載者:User

讀者定位為具有 Java 和 Ant 使用經驗的開發人員。

讀者可以學習到如何使用 Ant 解決一些多使用者開發環境中,根據不同的目標環境編譯成不同部署套件的問題。

工作情境

現在有一個 Web 專案,是多人進行開發的,通過 CVS 來管理。另外該項目還有一些測試人員,他們測試部署在測試伺服器上的應用程式,發現 bug 後通過 bug 管理系統通知開發人員,在開發人員修複 bug 並經過本地測試後,由專門的人負責檢出(check out)代碼,編譯打包後部署到測試伺服器上。

該項目的成員小A就是負責檢出代碼、編譯打包,並部署到伺服器上的人。除了這個任務之外,他還是該項目的編程人員。在項目進入測試階段後,小A在得到組中別的成員修複了 bug 並且檢入(check in)了代碼的訊息後(也有可能是小A自己檢入了代碼),小A首先更新本地的代碼,先在本地做測試,確認修複了 bug 後打成 WAR 包部署到測試伺服器上,並通知測試人員已經修複了 bug,讓測試人員繼續進行測試。

小A的煩惱

在該項目中,有一些為測試方便開發而寫的代碼和頁面,比如跳過使用者認證,但是在部署到測試機環境的時候,需要刪除這些代碼和頁面;另外作為一個具有靈活性和擴充性的應用程式,又有一些設定檔,設定檔中的值會根據環境的改變而變動。例如,在項目中使用了 Log4j 記錄日誌,需要給 Log4j 指定記錄檔的儲存路徑,本地程式員開發的時候用的是 Windows 系統,給 Log4j 指定的也是 Windows 的檔案系統,在測試階段的時候,需要部署到 Linux 系統中,那麼日誌的儲存路徑也需要做相應的改動。部署到測試伺服器上的時候,除了 Log4j 需要改之外,還有很多別的設定項目也需要變動,並且分散在各個 package 中。小A的煩惱也隨之而來,每次他在做完本地測之後,就根據測試機的需要逐個找設定檔,更改相應的值,並刪除那些為測試方便寫的代碼和頁面,每天可能根據需要做好幾次這樣的事情,最煩的是他在快做完對測試機環境更改的時候,某開發人員突然通知小A說:“我又改了一點代碼,剛檢入,你再重打一個包吧。”,小A又不得不從頭開始做新一輪的檢出代碼、本地測試、更改設定檔、刪除不需要的檔案、打包部署的工作。另外小A在測試階段的後期被通知要求除了每次產生一個測試環境的 WAR 包外還必鬚生成一個在產品環境下的 WAR 包,他做的事情就更多了。

從上面的情境可以看出,小A的工作效率低而且容易出錯,甚至有可能導致整個項目的工作效率低下。其實可以通過 Ant 來協助小A快速而且有效地完成這個工作。在 Ant 中,根據目標環境的需要,可以把所有要更改的設定檔的項目集中寫到某個設定檔中。這樣根據不同的目標環境得到不同的設定檔,Ant 在編譯包時根據不同的目標環境切換不同的設定檔即可。比如小A現在碰到的有 3 中環境:開發環境、測試環境以及產品環境,根據這三種環境可以產生三個不同的設定檔:develop_deploy.property、test_deploy. property和product_deploy. property,當小A想產生不同的包時只需在這三個設定檔之間切換就可以了。

在正式開始編寫指令碼之前,我們需要下載安裝相應的軟體。

Eclipse:為了使 Ant 的開發更加簡單,我們選擇了 Eclipse3.1 作為開發環境。當然你可以使用任何你喜歡的文本編輯工具來開發你的 Ant。Eclipse 的最新版本可以在 http://eclipse.org/ 上下載。

Ant:Ant 是基於 Java 的編譯工具,它就像 C/C++ 中的 make,但是沒有 make 那樣難用。Ant 的最新版本可以在 http://ant.apache.org/bindownload.cgi 上下載。如果你用 Eclipse 來開發 Ant,則不用去單獨下載 Ant,因為在 Eclipse 中已經整合了 Ant。

CVS 用戶端(cvs.exe):CVS 可以在 http://www.nongnu.org/cvs/ 上下載

用 Eclipse3.1 來建立 Ant 指令碼

如果你使用 Eclipse 來編寫 Ant,建議使用 Eclipse 3.1 以後的版本。除了以前 Ant 編輯器提供的文法高亮,提示法錯誤等功能外,Eclipse3.1 版本增加了許多新的功能。比如:指令碼代碼的摺疊;快速定位某屬性或者目標(target)段的定義;在同一 builder 檔案中重構屬性名稱和目標名(捷徑Alt + Shift +R);調試 Ant 指令碼等。

下面我們就來看看 Eclipse 3.1 中對 Ant 的支援

開啟“File”-“New”-“Project”-“Simple”-“Project”,點擊“Next”,輸入工程名“Ant”,然後點擊直到“Finish”

在建立的 Ant 工程中,建立 Test.xml,並且拷貝下面的指令碼。該段指令碼的內容就不做介紹了,我們主要看 Eclipse 提供了哪些功能。注意這時候開啟的並不是 Ant 編輯器,將內容拷貝進去之後,關掉開啟的“Test.xml”,然後再重新開啟它,這樣 Eclipse 就會用 Ant 編輯器開啟它,並且也文法高亮了。

<?xml version="1.0" encoding="UTF-8"?>
<project name="Test" default="init" basedir=".">
<property name="test" value="test"/>
<target name="init">
   <echo>${test}</echo>
</target>
</project>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.