前言
在工作中,經常碰到部署web項目比較繁瑣的事兒,有時出現遺漏更新檔案,有時失誤替換了重要檔案。這時我們可以考慮走捷徑,借助腳本實作一鍵更新部署。
這裡使用的案例為SVN上的web源碼,實作更新部署項目。
首先在伺服器安裝maven
- 下載下傳SVN,位址:apache-maven-3.3.9.bin.tar.gz
- 解壓到路徑
/data/apache-maven-3.3.9
- 修改配置檔案,這裡不叙述。
- 編輯
檔案//etc/profile
vi /etc/profile
在結尾處增加下面兩行代碼
export M2_HOME=/data/apache-maven-3.3.9
export PATH=$PATH:$M2_HOME/bin
執行儲存指令
!wq
- 重新整理應用profile
- 測試是否安裝成功
mvn -v
找到你的web 部署所在tomcat位址
這裡使用位址為:
/data/web/tomcat-8082
建立更新記錄檔案夾
mkdir /data/update_web
在檔案夾下首次執行下載下傳svn web項目,建立svn元資訊,保證一鍵更新腳本無通訊障礙。
svn checkout svn項目位址 /data/update_web/ --username=svn賬号 --password=svn密碼
#(R)eject, accept (t)emporarily or accept (p)ermanently? t
建立更新部署腳本
在目錄
/data/update_web/
下
建立更新腳本:
touch build.sh
賦腳本權限:
chmod +x build.sh
編輯腳本:
vi build.sh
添加以下内容
tomcat=/data/web/tomcat-8082
svn update && mvn clean package -DskipTests
if [ $? -eq 0 ];then
# 部署到tomcat
rsync -av --progress --delete \
--exclude="login.jsp" \
--exclude="WEB-INF/web.xml" \
target/szsys_dispose $tomcat/webapps/
# 重新開機tomcat
pid=`ps -ef | grep 8082 | grep -v grep | awk '{print $2}'`
if [ ! -z $pid ];then
kill -9 $pid
fi
set -m
$tomcat/bin/startup.sh
tail -f $tomcat/logs/catalina.out
fi
參數說明
腳本裡面的tomcat=為tomcat路徑, --exclude為不更新檔案, target/szsys_dispose為項目打包名稱,8082 為tomcat端口。
儲存腳本
執行測試
./build.sh