87 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
#!/bin/bash
 | 
						||
 | 
						||
export deploy_path=/opt/webapps/bonus-material
 | 
						||
 | 
						||
export  app_workspace=/opt/builds/releases/Bonus-Cloud/24.11.0-SNAPSHOT
 | 
						||
export  biz_workspace=/home/jenkins/workspace/Bonus-Cloud-Material
 | 
						||
 | 
						||
suffix="-material"
 | 
						||
 | 
						||
 | 
						||
app_source_jars=(
 | 
						||
  "bonus-auth-24.11.0-SNAPSHOT.jar"
 | 
						||
  "bonus-gateway-24.11.0-SNAPSHOT.jar"
 | 
						||
  #"bonus-file-24.11.0-SNAPSHOT.jar"
 | 
						||
  #"bonus-gen-24.11.0-SNAPSHOT.jar"
 | 
						||
  #"bonus-job-24.11.0-SNAPSHOT.jar"
 | 
						||
  "bonus-system-24.11.0-SNAPSHOT.jar"
 | 
						||
  "bonus-visual-monitor-24.11.0-SNAPSHOT.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-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:auth_bootstrap.yml"
 | 
						||
"bonus-gateway-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:gateway_bootstrap.yml"
 | 
						||
"bonus-system-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:system_bootstrap.yml"
 | 
						||
#"bonus-gen-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:gen_bootstrap.yml"
 | 
						||
#"bonus-job-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:job_bootstrap.yml"
 | 
						||
#"bonus-file-24.11.0-SNAPSHOT-material.jar --spring.config.location=file:file_bootstrap.yml"
 | 
						||
#"bonus-visual-24.11.0-SNAPSHOT-monitor-material.jar --spring.config.location=file:visual_bootstrap.yml"
 | 
						||
"bonus-material.jar --spring.config.location=file:material_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."
 | 
						||
 |