#!/bin/bash
#项目名称
projectName=derp-mq-push-api
#环境变量
source /etc/profile
export BUILD_ID=$projectName #随便写
export JAVA_HOME=/usr/local/jdk1.8
#config配置文件
configPath=/data/config/derp-config-3.0-SNAPSHOT.jar
#mq目录
mqPath=/data/mq/derp-mq-push-api
#备份目录
bakPath=/data/bak/$projectName$(date +%Y%m%d%H%M)/
#code包目录
codetempPath=/data/codetemp/$projectName
# 部署代码
function deploy()
{
#备份代码
echo "******************备份代码***************************"
mkdir $bakPath
cp -rf $mqPath $bakPath
checkExecution
#清除旧代码
#echo "*****************清除旧代码********************"
#cd $mqPath
#checkExecution
#rm -rf $projectName".jar"
#cd lib
#checkExecution
#rm -rf *
#checkExecution
#拷贝代码
echo "******************拷贝代码**********************"
cp -rf $codetempPath/* $mqPath
checkExecution
#拷贝配置文件
echo "******************拷贝配置文件**********************"
cp -rf $configPath $mqPath/lib/
checkExecution
#清空代码仓库
#echo "******************删除临时代码**************"
#cd $codetempPath
#rm -rf *
}
# 停止mq
function stopMq()
{
echo "*****************关闭Mq************************"
#找出进程ID
PID=`ps -ef|grep $projectName|grep java|awk '{print $2}'`
echo $PID
kill -9 ${PID} #一次性kill掉所有进程ID
#方式二 循环kill进程
#for id in $PID
#do
#echo "java process id: "$id
#`kill -9 ${id}`
#done
#sleep 1s
echo "*****************关闭Mq完成***************"
}
# 启动mq
function startMq()
{
cd $mqPath
echo "*****************启动Mq**********************"
sh startup.sh
checkExecution
echo "*****************启动Mq完成**************"
}
# 检查命令是否正确执行
function checkExecution()
{
if [ ! $? -eq 0 ];then
exit 1
fi
}
#停止Mq
stopMq
#部署项目
deploy
#启动Mq
startMq