#jenkins 使用脚本启动以后,构建完毕后会杀死当前进程,可以在脚本上加BUILD_ID=DONTKILLME 来避免
BUILD_ID=DONTKILLME
echo 当前构建目录: $(pwd)
mvn clean install
cd ./xxl-job-actuator/target
# '.'代表当前目录,下面意思是在当前目录下寻找 **.jar 文件,一定要按照这个格式写
FILENAME=$(find . -name 'cloud-xxl-job-actuator.jar')
# 输出jar目录
JARNAME=${FILENAME##*/} # ${file##*/}:删掉最后一个/ 及其左边的字符串
JARPATH=$(pwd)
echo 当前jar所在目录: ${JARPATH}/${JARNAME}
PID=$(ps -ef | grep $JARNAME | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]; then ## -z 判断是不是空的字符串
echo $JARNAME is already stopped
else
## 如果当前进程已经运行,杀死进程
echo 当前程序正在执行,新版本发布需关闭程序进程: $PID
kill -9 $PID
fi
# ~/jar 这里,是指向你平时存放你项目jar包的地方,若你的项目配置了https,那么要想运行成功,jar包的同级目录应该有ssl许可证,所以这里的位置不是随便写的,一定要是你SSL许可证的存放位置
cd /home/cloud/job
cp ${JARPATH}/${JARNAME} .
# 后台运行
nohup java -jar $JARNAME >job.log &
PID=$(ps -ef | grep $JARNAME | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]; then ## -z 判断是不是空的字符串
echo 程序未启动
else
## 如果当前进程已经运行,杀死进程
echo 程序已启动,进程: $PID
fi