天天看点

(一)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