From 5164a5ed64235846e866c4e6fa459efb7324707f Mon Sep 17 00:00:00 2001 From: paulch <14127153+paulch@user.noreply.gitee.com> Date: Tue, 9 Jul 2024 08:48:51 +0800 Subject: [PATCH] deployment script --- scripts/deploy.sh | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 scripts/deploy.sh diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100644 index 0000000..540b94a --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +export deploy_path=/opt/webapps/bonus-cloud + +#export jars_path = /home/jenkins/workspace/Bonus-Cloud/bonus-auth/target + +export app_workspace=/home/jenkins/workspace/Bonus-Cloud + + +app_source_jars=( + "bonus-auth/target/bonus-auth.jar" + "bonus-api/bonus-api-system/target/bonus-api-system-24.6.0.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" +) + +for source_jar in "${app_source_jars[@]}"; do + cp -f ${app_workspace}/${source_jar} $deploy_path + echo "copied ${app_workspace}/${source_jar}/auth/target/auth.jar to $deploy_path" +done +# Define an array of JAR files to run +jars=("bonus-auth.jar" "bonus-gateway.jar" "bonus-gen.jar" "bonus-job.jar" + "bonus-modules-file.jar" "bonus-modules-system.jar" "bonus-system.jar" + "bonus-visual-monitor.jar" "sentinel-dashboard-1.8.1.jar") + +# Stop all running JARs +for jar in "${jars[@]}"; do + P_ID=$(pgrep -f "$jar") + # 如果该项目已经在服务器上启动则kill掉 + echo "原应用程序$jar进程id:$P_ID" + if [ -z "$P_ID" ]; then + echo "==$jar service process does not exist" + else + # 尝试优雅地关闭应用程序 + kill -9 "$P_ID" + wait "$P_ID" 2>/dev/null + + # 检查进程是否仍在运行 + if ! ps -p "$P_ID" > /dev/null; then + echo "$jar service process was terminated gracefully" + else + # 如果优雅关闭失败,则强制杀死进程 + kill -9 "$P_ID" + echo "$jar service process was killed forcefully" + fi + fi +done + +# Iterate over the JAR files array +for jar in "${jars[@]}"; do + echo "Running $jar..." + # Assuming java is in your PATH and the JARs are in the current directory + nohup /usr/lib/jvm/jdk1.8.0_381/bin/java -jar "$jar" >/dev/null 2>&1 & + +done + +echo "All JARs have been run successfully."