2012年10月30日 星期二

邁向自動建置佈署之路(3) - Maven plugin




 (Please let me know if I violate any legal copyrights)



現在來到自動佈署的最後一站,以下內容與圖片都是節錄自Automated deployment with Maven and friends  Going the whole nine yards 這個投影片,這個投影片主要就是在教授如何透過Maven 做到Build automation and Deploy automation,不過這裡的deploy 我個人認為比較適用於 testing and staging 環境為主,如果要上production 則必須有更嚴格的機制。下面我把一些重點節錄出來:



最好的佈署策略就是由Deploy 經由CI Build 出來且驗證過的War檔,不應該由RD 的sourec code (snapshot)重build的那一份 。


在這邊使用的是cargo-maven2-plugin 的個plugin,用來自動佈署


在這邊是設定要佈署到哪一台測試環境的機器上,這邊的範例是用tomcat

當然Cargo也支援其他J2EE的container 包然Jboss、Jetty、JonAS...等


另外這個投影片也有提到,如果自動佈署可能會因為佈署的環境不同,會需要有不同的設定檔,此時可以設定不同環境,讓maven去讀取不同的設定檔,或是patch file,所以首先你要先建立一個專門為了佈署用的mave專案



在這個例子就是dev 和 staging 分別使用不同的版本或是不同的設定檔


然後這個專門用來佈署的maven 專案,就只要透過webapp的版本就可以控管每次要佈署的版本是什麼,才不容一造成錯誤。也比較好明確定義這次上的是哪個版本,測試的是哪個版本。


這篇壓了很久,不知道是不適合Po出來,比較很多圖片都是直接截圖下來,不過當初看到這投影片真的有種長久以來的問題被解決的感覺~:P 希望對大家有幫助


Reference:
[1] Automated deployment with Maven and friends  Going the whole nine yards
張貼留言