接着上次的說,上次只是實現了本地自動化部署,這種情況只是針對開發環境和部署環境在同一台機器時適用。不過,一般情況下,我們都會要把項目部署到遠程Linux服務器上,所以這節的主要內容是:
1、部署開發環境下的Web項目到遠程Linux服務器;
2、實現自動備份;
准備環境:
本地開發,安裝虛擬機,在虛擬機安裝Linux服務器
步驟:
1、安裝插件,登錄到Jenkins后台,選擇“系統管理”--->“管理插件”,在可選插件中,選擇Publish Over SSH,安裝這個插件;
2、安裝完后,配置這個選項,在系統管理中找到,如下圖:
這里只說下主要配置項,SSH Server Name,服務器名稱,自己隨便起個名字即可;Hostname,服務器的IP地址;Username,遠程服務器的帳號,這里我用了root;Remote Directory,訪問路徑,“/”根路徑即可。
其他的選項參考,http://blog.csdn.net/wangmuming/article/details/22925895。
3、這次不用新建項目了,以上次建的項目為基礎,做個拷貝,在此基礎上修改就行,如圖:
4、上面的都不用動,只修改“構建后操作”,把上次部署war包的方式(Deploy war/ear to a container)刪除,添加剛才安裝插件后的(Send build artifacts over SSH),配置見圖:
需要注意的地方:Remote directory,這個最好配置為絕對路徑,主要是為了臨時放置項目的地方,在第5步可以看到;
5、增加deploy.sh腳本,新下載的tomcat的bin目錄沒有該文件,自己新建一個即可,里面的內容如下,根據自己的實際情況進行調整,都是一些常見的shell命令:
#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.7.0_75
kill -9 $(ps -aef | grep tomcat/conf | grep -v grep | awk '{print $2}')
cd /app/programs/tomcat_test1/webapps
mv ROOT.war ROOT_`date +%Y%m%d%H%M%S`.war.bak
#rm -rf ROOT
mv /app/programs/temp/mvcDemo3*-SNAPSHOT.war ROOT.war
cd /app/programs/tomcat_test1/bin
./startup.sh
6、經過以上配置后,訪問測試,運行通過。
總結:截至到現在,已經完成了自動化部署到本地和遠程的全部配置。我這兩篇文檔主要側重於操作實現和備忘,一些細節未進行說明,有需要的朋友可以自行往下深入研究,可以一塊討論。。。