美文网首页
shell自动拉取maven项目代码更新部署tomcat

shell自动拉取maven项目代码更新部署tomcat

作者: 阿当运维 | 来源:发表于2020-11-09 18:35 被阅读0次

目前单独使用此脚本需要人工运行 并且加上参数(项目名字),全自动化的实现需结合jenkins

写之前我们先了解一下 java的maven项目的部署过程,学会手动去部署才能写脚本,jar与war的区别看tomcat专题

war包部署步骤 (这里所有项目都在/data/java_project拉取)

1.cd /data/java_project--- 2.拉取项目代码----3.进入项目目录---4.mvn命令打包成war包---5.关闭tomcat服务
6.备份线上发布目录的代码到备份目录---7.将刚打包好的war复制到tomcat发布目录(默认webapps/ROOT)
8.jar xvf 或unzip xxx.war -d 发布目录,---9.重启tomcat---10.检查页面

#!/bin/bash
#自动迭代JAVA代码,自动打成war包部署到TOMCAT
#提前装好jdk,maven,tomcat

#

#项目名称
JAVA_NAME=$1
#项目代码路径
RPOJECT_DIR=/data/java_project
#tomcat网站发布目录
TOMCAT_WEBDIR=/usr/local/tomcat/webapps/ROOT
#备份目录
JAVA_BACKDIR=/data/java_back
#时间
DATE=$(date +%F_%T)

if [ ! -d $RPOJECT_DIR ];then
    mkdir -p  $RPOJECT_DIR
fi
#拉项目|更新
cd $RPOJECT_DIR
if [  -d $JAVA_NAME ];then
    cd $JAVA_NAME
    git pull
else
    git clone https://github.com/Niceone9/tomcat-java-demo.git
         if [ $? -ne 0 ];then
               echo "git clone 失败,检查项目名称是否正确|存在 "
               exit
         fi
fi

#maven构建war包
cd $RPOJECT_DIR/$JAVA_NAME
mvn clean package  -Dmaven.test.skip=true
if [ $? -ne 0 ];then
    ehco "mvn build failed!"
    exit
fi

#停止tomcat(-n 字符串长度不为0时,true; -z 字符长度为0时,true)

TOMCAT_PID=$(ps -ef |grep tomcat|egrep -v "grep|*.sh"|awk -F' ' '{print $2}')
[ -n $TOMCAT_PID ] && kill -9 $TOMCAT_PID

#备份tomcat发布目录
if [ -d $TOMCAT_WEBDIR ];then
    mv  $TOMCAT_WEBDIR   $JAVA_BACKDIR/${JAVA_NAME}-${DATE}
else 
    echo "tomcat 发布目录不存在"
    exit
fi
#部署
unzip $RPOJECT_DIR/$JAVA_NAME/target/*.war -d $TOMCAT_WEBDIR

#启动tomcat

sh /usr/local/tomcat/bin/startup.sh
if [ $? -ne 0 ];then
    echo "tomcat启动失败"
    exit
else
    echo "代码更新成功"
fi

结果:


image.png image.png
image.png

相关文章

网友评论

      本文标题:shell自动拉取maven项目代码更新部署tomcat

      本文链接:https://www.haomeiwen.com/subject/ekxivktx.html