我們做運維的,日常代碼上線是家常便飯,如果不實現自動化,一來工作效率低,二來經常敲那些重複的命令真的讓人很抓狂。我這個案例是針對公司的java項目實現的web界面自動化部署。
一、先來幾張效果圖
1.1web登陸界面
1.2 環境分類
3.應用分類
4.部署的執行輸出
二、實現的過程
2.1 實現的功能:web界面實現模擬環境和生產環境代碼上線和服務重啓
2.2 實現的原理:線上一臺發佈機,腳本/bin/deploy.sh,它結合ansible,從svn服務器fetch要發佈的war包,然後copy到要發佈的環境,並採用軟鏈的方式,把應用指向到最新的代碼。腳本要求傳遞2個參數,第1個是用來區分模擬or生產環境,第2個是具體發佈哪個應用。發佈應用deploy.war,通過tomcat跑起來,它會調用/bin/deploy.sh,並輸出腳本執行的過程。
2.3 首先要解決流程化問題:(1)代碼打包:開發同事把項目打包成war包 (2)應用程序的路徑統一
2.4 發佈機server安裝配置ansible,並與管理的主機建立ssh密鑰驗證,詳見我博客的ansible篇
2.5 發佈機安裝配置jdk和tomcat,jdk1.6.0_30 + apache-tomcat-6.0.36用於跑部署應用deploy.war
三、歡迎覺得有參考價值的朋友,點個贊,且有源代碼的需要,可留言來索取。