bonus-material.jar

This commit is contained in:
sxu 2024-10-12 17:33:36 +08:00
parent 8319d80b92
commit 6a0ce35af5
1 changed files with 34 additions and 49 deletions

View File

@ -1,52 +1,37 @@
#!/bin/bash #!/bin/sh
export deploy_path=/opt/builds/${JOB_NAME}
export deploy_path=/opt/webapps/bonus-cloud-material echo "--------moveFile start--------------"
rm -rf $deploy_path
mkdir -p $deploy_path
cd $deploy_path
rm -rf *.jar
echo "workspace is ${WORKSPACE}"
mv ${WORKSPACE}/bonus-modules/bonus-material/target/bonus-material.jar $deploy_path
chmod 777 *.jar
export app_workspace=/home/jenkins/workspace/Bonus-Cloud-Material echo "--------moveFile end--------------"
export bonus-material_enable=true
export bonus-material_jar=bonus-material.jar
export bonus-material_port=18588
if($bonus-material_enable);then
app_source_jars=( echo "--------bonus-material 开始启动--------------"
"bonus-auth/target/bonus-material.jar" echo "--------删除bonus-material开始--------------"
) P_ID=`ps -ef | grep -w $bonus-material_jar | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
for source_jar in "${app_source_jars[@]}"; do echo "===bonus-material process not exists or stop success"
cp -f ${app_workspace}/${source_jar} $deploy_path
echo "copied ${app_workspace}/${source_jar} to $deploy_path"
done
# Define an array of JAR files to run
jars=("bonus-material.jar --spring.config.location=file:bootstrap.yml")
# 遍历数组并检查每个JAR文件的进程
for jar_with_args in "${jars[@]}"; do
# 提取JAR文件名不包括参数
jar=$(echo $jar_with_args | awk '{print $1}')
# 检查进程是否启动
echo "原应用程序1 $jar "
pids=$(pgrep -f $jar || true)
echo "原应用程序2 $jar "
if [ -n "$pids" ]; then
echo "$jar is running with PID(s): $pids"
# 杀死进程
for pid in $pids; do
kill -9 $pid
if [ $? -eq 0 ]; then
echo "Process $pid for $jar killed successfully"
else else
echo "Failed to kill process $pid for $jar" kill -9 $P_ID
echo "bonus-material killed success"
fi fi
echo "--------bonus-material开始部署--------------"
nohup /usr/lib/jvm/jdk1.8.0_381/bin/java -jar $bonus-material_jar >/dev/null 2>&1 &
bonus-material_pid=`lsof -i:$bonus-material_port|grep "LISTEN"|awk '{print $2}'`
until [ -n "$bonus-material_pid" ]
do
bonus-material_pid=`lsof -i:$bonus-material_port|grep "LISTEN"|awk '{print $2}'`
done done
else echo "bonus-material pid is $bonus-material_pid"
echo "$jar is not running" echo "--------bonus-material 启动成功--------------"
fi fi
done
cd $deploy_path || { echo "Failed to change directory to $deploy_path"; exit 1; }
# Iterate over the JAR files array
for jar in "${jars[@]}"; do
echo "Starting $jar"
nohup /usr/lib/jvm/jdk1.8.0_381/bin/java -jar $jar >/dev/null 2>&1 &
done
echo "All JARs have been run successfully."