#!/bin/bash
#jenkin编译时调用的shell,仅使用在测试服务器上
#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
source /etc/profile
#用于保存启动服务的PID
pid_path={pid路径}
#如果PID目录不存在,则创建
if [ ! -d “${pid_path}” ]; then
mkdir ${pid_path}
fi
#如果没传参数,就结束启动脚本
if [ -z “$1” ]; then
exit
fi
if [ -z “$2” ]; then
exit
fi
p_path=“$1”
jar_name=“$2.jar”
echo “parent_path: $p_path”
echo “jar_name: $jar_name”
app_name=“${jar_name%-..jar}”
echo “app_name: $app_name”
#修改工作目录
cd $p_path/KaTeX parse error: Expected 'EOF', got '#' at position 3: 2 #̲获取运行编译好的进程ID,便于…{pid_path}/
a
p
p
n
a
m
e
.
p
i
d
"
]
;
t
h
e
n
p
i
d
=
{app_name}.pid" ]; then pid=
appname.pid"];thenpid=(cat
p
i
d
p
a
t
h
/
{pid_path}/
pidpath/{app_name}.pid)
#杀掉以前可能启动的项目进程
kill -9 ${pid}
fi
#启动jar,后台启动
#BUILD_ID=dontKillMe
BUILD_ID=dontKillMe nohup java -Xmx256m -Xms256m -Xmn200m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8080 -jar 包名称.jar --server.port=8182 >> ${jar_name%-*.*.jar}.out 2>&1 &
#将进程ID存入到app_name.pid文件中 (pid统一路径)
echo $! > ${pid_path}/${app_name}.pid
echo "pid: $(cat ${pid_path}/${app_name}.pid)"
例子截图