#!/bin/bash
case $Status in
Deploy)
echo "Status:$Status"
path="${WORKSPACE}/bak/${BUILD_NUMBER}" #创建每次要备份的目录
if [ -d $path ];
then
echo "The files is already exists "
else
mkdir -p $path
fi
\cp -f ${WORKSPACE}/target/*.jar $path #将打包好的jar包备份到相应目录,覆盖已存在的目标
echo "bak ------------ Completing!"
;;
Rollback)
echo "Status:$Status"
echo "Version:$Version"
cd ${WORKSPACE}/bak/$Version #进入备份目录
\cp -f *.jar ${WORKSPACE}/target/ #将备份拷贝到程序打包目录中,并覆盖之前的jar包
;;
*)
exit
;;
esac
#!/bin/bash
source ~/.bash_profile
source /etc/profile
#jar包文件路径及名称(目录按照各自配置)
cd /home/myserver/
APP_NAME=myfamily-0.0.1-SNAPSHOT.jar
#查询进程,并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
kill -9 $pid
echo "$pid进程终止成功"
#判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志
if test -e $APP_NAME
then
echo '文件存在,开始启动此程序...'
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar $APP_NAME >myfamily.log 2>&1 &
echo '$APP_NAME 启动成功...'
else
echo '$APP_NAME 文件不存在,请检查。'
fi