88 lines
3.1 KiB
Bash
88 lines
3.1 KiB
Bash
#!/bin/bash
|
||
|
||
export deploy_path=/opt/webapps/bonus-material
|
||
|
||
export app_workspace=/opt/builds/releases/Bonus-Cloud/24.9.0
|
||
export biz_workspace=/home/jenkins/workspace/Bonus-Cloud-Material
|
||
|
||
suffix="-material"
|
||
|
||
|
||
app_source_jars=(
|
||
"bonus-auth/target/bonus-auth.jar"
|
||
"bonus-gateway/target/bonus-gateway.jar"
|
||
"bonus-modules/bonus-file/target/bonus-file.jar"
|
||
"bonus-modules/bonus-gen/target/bonus-gen.jar"
|
||
"bonus-modules/bonus-job/target/bonus-job.jar"
|
||
"bonus-modules/bonus-oss/target/bonus-oss.jar"
|
||
"bonus-modules/bonus-system/target/bonus-system.jar"
|
||
"bonus-visual/bonus-monitor/target/bonus-visual-monitor.jar"
|
||
)
|
||
|
||
#for source_jar in "${app_source_jars[@]}"; do
|
||
# cp -f ${app_workspace}/${source_jar} $deploy_path
|
||
# echo "copied ${app_workspace}/${source_jar} to $deploy_path"
|
||
#done
|
||
for source_jar in "${app_source_jars[@]}"; do
|
||
# 获取文件名(不带目录路径)
|
||
filename=$(basename "$source_jar")
|
||
echo "filename:$filename"
|
||
# 获取文件名(不带扩展名)
|
||
base_name="${filename%.jar}"
|
||
echo "filename:$base_name"
|
||
# 构造新的文件名
|
||
new_filename="${base_name}${suffix}.jar"
|
||
echo "filename:$new_filename"
|
||
|
||
cp -f ${app_workspace}/${source_jar} "$deploy_path/$new_filename"
|
||
echo "copied ${app_workspace}/${source_jar} to '$deploy_path/$new_filename'"
|
||
done
|
||
|
||
cp -f ${biz_workspace}/"bonus-modules/bonus-material/target/bonus-material.jar" $deploy_path
|
||
echo "copied ${app_workspace}/${source_jar} to $deploy_path"
|
||
|
||
# Define an array of JAR files to run
|
||
jars=("bonus-auth-material.jar --spring.config.location=file:auth_bootstrap.yml"
|
||
"bonus-gateway-material.jar --spring.config.location=file:gateway_bootstrap.yml"
|
||
"bonus-system-material.jar --spring.config.location=file:system_bootstrap.yml"
|
||
"bonus-gen-material.jar --spring.config.location=file:gen_bootstrap.yml"
|
||
"bonus-job-material.jar --spring.config.location=file:job_bootstrap.yml"
|
||
"bonus-file-material.jar --spring.config.location=file:file_bootstrap.yml"
|
||
"bonus-visual-monitor-material.jar --spring.config.location=file:visual_bootstrap.yml"
|
||
"bonus-modules-material.jar --spring.config.location=file:ai_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
|
||
echo "Failed to kill process $pid for $jar"
|
||
fi
|
||
done
|
||
else
|
||
echo "$jar is not running"
|
||
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."
|
||
|