記得在去年在
Web應用程式自動部署作業-使用 Tomcat 及 Ant 一文中介紹過如何透過 Ant 完成 Tomcat 上的 Web 應用程式自動部署作業。過了一年後相關的設定也有了修正,且目前因為計畫將部署程序移轉到
Maven 上,所以先在此將作法登錄下來,算是一個歷程的完結。
第二版的部署作業最大的改變就是將原本那個超大的 build.xml 檔予以解散,並將系統的、專案專屬的設定項目都切割開來,目的當然在簡化每一個設定檔的大小。以下從目錄結構開始介紹起:
網頁應用系統標準目錄結構
現行所有的網頁應用程式目錄結構係依據
Application Developer's Guide: Deployment (也可參考
Web Application Archives) 文中所描述基本結構,配合後續單一檔案維護要求而設定。目錄結構如下:
ANT 部署說明
所有的部署動作由 WEB-ROOT 下的 build.xml 開始,透過 build.ant/ 目錄下的輔助設定及類似 Ant 副程式的機制,完成自動化部署作業。而在系統建置過程中將參考 conf/ 目錄下之內容以建構出完整的網頁應用系統部署套件。
如何使用 build.xml 部署建置檔
常在取得一份 .war 檔後,先使用 7-zip 等檔案解壓縮工具將檔案解壓到專案目錄中,此例為取得一個 QuerySalary.war 檔案。附圖是這個壓縮檔案的內容。(註:war 檔的本質是 Zip 格式)
解壓縮 .war 檔後,即可從命令列中檢查該專案所附的 build.xml 設定檔提供那些功能,請切換到專案所在目錄中並鍵入以下指令:
以下是 QuerySalary 專案的 ant -projecthelp
另一個專案的 ant -projecthelp
通常來說要部署一個專案時只要鍵入以下指令即可!當然請先確定該建置檔是否提供相對應之部署功能。
下圖為某次部署作業之畫面擷圖:
- 每個專案總會有些差異,這類的差異由 build.ant/ 目錄下的檔案進行調整,稍候介紹。
build.xml 內容說明
以下為 build.xml 之基本設定:
build.ant/ 相關配置檔案說明
build.ant/build.properties 基本參數設定
此檔為 Ant 建置過程中的標準參數設定檔,通常使用時直接保留原始設定檔即可,不需另行修改。
build.ant/database.properties 資料庫參數設定
此檔為資料庫連線有關的參數設定檔,通常是在 xdoclet 建置 web.xml 配置檔時修改相關參數時使用。目前因採用 Servlet Containner 提供的 Connection Pool 或其他原因之故並未真正使用本設定檔。
build.ant/deploy.properties 部署參數設定
此檔為專案部署有關之參數設定檔。內容及說明如下:
若有兩台以上正式主機時,除了在 build.ant/deploy.properties 中設定 production.deploy.server.2 等等變數外,尚必須連帶修改 build.xml 檔內容如下: (其他 Application Server 亦請比照辦理!)
build.ant/system.xml 系統基礎作業部署設定檔
此檔受 build.xml 呼叫,用於建置網頁應用程式之基本目錄結構。整個網頁應用程式之暫存目錄會放在 WEB-ROOT/build/ (在 build.ant/build.properties 內設定)下,而且通常不做任何修改。
build.ant/project.xml 專案作業部署設定檔
此檔受 build.xml 呼叫,用於配置專案所需目錄或檔案之用。必須視專案之目錄需求進行對應之調整。
build.ant/javadoc.xml javadoc 文件建置設定檔
此檔受 build.xml 呼叫,用於建置 src/ 下所有 java 原始碼之 javadoc 文字檔。必須先設定一個環境變數 JAVADOC 時,才能在建置過程中觸發此項作業。
以下是執行情形:
- 未設定 JAVADOC 環境變數時:
- 已設定 JAVADOC 環境變數時:
conf/ 目錄說明
conf/commons-logging.properties
conf/ejb-resourcerefs.xml
conf/error-pages.xml
conf/log4j.properties
conf/mime-mappings.xml
conf/servlets.xml
conf/web-settings.xml
conf/welcomefiles.xml
沒有留言:
張貼留言