Java工程自动部署脚本(Tomcat容器)

#!/bin/sh
echo '自动部署--Tomcat项目'
#项目名<必填>

projectName='push_service'

#需要替换的config文件路径

configFilePath='/opt/scripts/test'

#定义时间变量名和显示时间格式

datename=$(date +%Y%m%d-%H%M%S)             
#要部署的git分支<必填>[develop master]
gitBranch=develop
#参数3 tomcat目录[选填](若无此参数,则赋默认值)
tomcatPath="/opt/tools/tomcat-test"

# 项目数据库配置 a、测试环境[dev] b、生产环境[product]
projectBranch="develop"
#git地址
gitUrl=guoyh@git.com

echo $gitUrl

#创建一个目录并进入到此目录
cd $configFilePath
if [ -d "autoProject" ] ; then
    echo 'autoProject文件夹已经存在,继续执行。'
else
    echo '执行mkdir autoProject'
    mkdir autoProject
fi


cd autoProject


#从git clone项目下来并进入此
if [ -d $projectName ] ; then
    echo $projectName'文件夹已经存在,继续执行。'
else
    echo '执行git clone '$gitUrl
    git clone $gitUrl
fi


cd $projectName


#切换到指定分支并pull代码
git checkout $gitBranch
git pull origin $gitBranch


#覆盖发布时需要的配置文件
cp -f $configFilePath/config/config/* $configFilePath/autoProject/test/src/main/resources/config/


#maven打包
mvn clean package -P$projectBranch


#备份正在运行的项目
mkdir $configFilePath/bak/$datename
cp -a -R  $tomcatPath/webapps/push_service $configFilePath/bak/$datename/
echo '项目test备份线上项目成功。。。项目备份路径::'+$configFilePath/back/$datename/


#停止tomcat
tomcatID=`ps -ef | grep "$tomcatPath" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo 'tomcat进程号为'$tomcatID
kill -9 $tomcatID
echo '杀掉进程'


#rm掉原tomcat下的项目并cp进去新的
rm -rf $tomcatPath/webapps/push_service
rm -rf $tomcatPath/work/Catalina/localhost/push_service
cp target/push_service.war $tomcatPath/webapps


#启动tomcat
$tomcatPath/bin/startup.sh


newTomcatId=`ps -ef | grep "$tomcatPath" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo '新tomcat进程号为'$newTomcatId
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值