天天看點

(一)Maven Web 項目腳本自動打包部署前言

前言

在工作中,經常碰到部署web項目比較繁瑣的事兒,有時出現遺漏更新檔案,有時失誤替換了重要檔案。這時我們可以考慮走捷徑,借助腳本實作一鍵更新部署。

這裡使用的案例為SVN上的web源碼,實作更新部署項目。

首先在伺服器安裝maven

  1. 下載下傳SVN,位址:apache-maven-3.3.9.bin.tar.gz
  2. 解壓到路徑

    /data/apache-maven-3.3.9

  3. 修改配置檔案,這裡不叙述。
  4. 編輯

    //etc/profile

    檔案
vi /etc/profile
           
在結尾處增加下面兩行代碼
export M2_HOME=/data/apache-maven-3.3.9
	export PATH=$PATH:$M2_HOME/bin
           
執行儲存指令
!wq
           
  1. 重新整理應用profile
  1. 測試是否安裝成功
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