#!/bin/sh
echo '自动部署--Tomcat项目'
#项目名<必填>
#要部署的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
echo '自动部署--Tomcat项目'
#项目名<必填>
projectName='push_service'
#需要替换的config文件路径
configFilePath='/opt/scripts/test'
#定义时间变量名和显示时间格式
#要部署的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