code

2014年8月26日 星期二

為何要用Jenkins - 重複的事就要交給電腦去做(一) 

重複的事,就要交給電腦去做』這是在學生時,烙在心中的最重要的原則,也是程式員最簡單,也是最顯著的供獻。

我們寫了程式,自動化報表,不必再趕著每天早上11:00前要放在老闆桌上的表格
我們寫了程式,自動化簽呈,讓你在家就躺著就可以送出假單,誰的臉色都不必看(當天)
我們還寫了程式,自動化監控,checklist的板子不用再每天昧著良心打勾,拜託出了事再叫我

寫了無數程式,解救無數問題,驀然回首,原來唯一沒解救到的是自己開發問題

沒解決的問題一:程式部署

從土法煉系統時期,轉換到 Ant 時期,回想仍然是充滿了感動;而後再轉向Maven,這些工具是程式員們的寶貝,它們幫我們解決了開發時期,繁重的重複作業;程式部署。在交接維護人員時,千言萬語,不如一鍵安裝。

http://stackoverflow.com/questions/3116605/how-can-i-build-war-with-maven-in-eclipse
透過Maven,開發war / ear 結構的Project ,對部署的難度幾乎接近 0 。你只要照著網路的教學,做好設定,然後執行 mvn compile war:war ,燒燙燙的 war file 就出現在 target  目錄下了。接著只要把檔案搬去 Tomcat 還是 GlassFish 指定的路徑放好 即可


問題浮現提示了,首先不管是 Ant/Maven,部署的指令千變萬化,但請相信,平常在用的也只會千變一律。再來,如果你還在自己搬檔案去Container放,不會放錯主機嗎?不會上錯版號嗎?每天反復同樣動作不煩嗎重複的事就要交給電腦去做!

還是在土法煉系統時,這得確是簡單活,但交給Jenkins自動化作業,更可一勞永逸

假裝現在已經有一組架好的Jenkins,只要在外掛模組裝個『Deploy Plugin』,打開Tomcat的tomcat-user.xml 設定權限,再回Jenkins 建個專案,設定Maven的goal,Tomcat 的deploy settings,接著要手動按下完成部署、還是定期排程部署,就都由你決定了。

如果都已經有用/會用Maven,確沒有讓Deploy的過程自動化,不是很可惜嗎?

Deploy Plugin 安裝人數相當多



Reference

Maven war plugin - Usage http://maven.apache.org/plugins/maven-war-plugin/usage.html
Apache Tomcat 6.0 - Realm Configuration HOW-TO http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#UserDatabaseRealm

沒有留言:

張貼留言