Initial commit: 单商户积分商城 - 管理后台前端 + CRMEB 后端
Made-with: Cursor
This commit is contained in:
55
backend/shell/deploy-admin-miao50.sh
Executable file
55
backend/shell/deploy-admin-miao50.sh
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
# 编译 crmeb-admin、上传并重启 miao50 服务器上的 admin 服务(全自动,需先做一次性免密配置)
|
||||
# 一次性配置: ssh-copy-id -i ~/.ssh/id_ed25519_crmeb_deploy.pub root@101.37.253.50
|
||||
# 使用: ./deploy-admin-miao50.sh
|
||||
|
||||
set -e
|
||||
SSH_IDENTITY="${SSH_IDENTITY:-$HOME/.ssh/id_ed25519_crmeb_deploy}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
DEPLOY_CONF="$PROJECT_DIR/deploy.conf"
|
||||
|
||||
# 解析 miao50 配置(deploy.conf 中 miao50 段的 KEY=value)
|
||||
get_conf() {
|
||||
grep -E "^${1}=" "$DEPLOY_CONF" | tail -1 | cut -d= -f2-
|
||||
}
|
||||
SERVER_HOST=$(get_conf SERVER_HOST)
|
||||
SERVER_USER=$(get_conf SERVER_USER)
|
||||
SERVER_PORT=$(get_conf SERVER_PORT)
|
||||
REMOTE_DIR=$(get_conf REMOTE_DIR)
|
||||
ADMIN_JAR_NAME=$(get_conf ADMIN_JAR_NAME)
|
||||
ADMIN_LOCAL_PORT=$(get_conf ADMIN_LOCAL_PORT)
|
||||
|
||||
# 若未读到(可能不是 miao50 段),使用默认
|
||||
[[ -z "$SERVER_HOST" ]] && SERVER_HOST=101.37.253.50
|
||||
[[ -z "$REMOTE_DIR" ]] && REMOTE_DIR=/www/wwwroot/crmeb
|
||||
[[ -z "$ADMIN_JAR_NAME" ]] && ADMIN_JAR_NAME=miao-admin-2.2.jar
|
||||
[[ -z "$ADMIN_LOCAL_PORT" ]] && ADMIN_LOCAL_PORT=30032
|
||||
[[ -z "$SERVER_USER" ]] && SERVER_USER=root
|
||||
[[ -z "$SERVER_PORT" ]] && SERVER_PORT=22
|
||||
|
||||
JAR_PATH="$PROJECT_DIR/crmeb-admin/target/$ADMIN_JAR_NAME"
|
||||
REMOTE_JAR="$REMOTE_DIR/$ADMIN_JAR_NAME"
|
||||
|
||||
echo "=== 1. 编译 crmeb-admin ==="
|
||||
cd "$PROJECT_DIR"
|
||||
mvn clean package -pl crmeb-admin -am -DskipTests -q
|
||||
echo "已生成: $JAR_PATH"
|
||||
|
||||
echo ""
|
||||
echo "=== 2. 上传到 $SERVER_USER@$SERVER_HOST:$REMOTE_DIR ==="
|
||||
[[ -f "$SSH_IDENTITY" ]] && SSH_OPTS=(-o "IdentityFile=$SSH_IDENTITY") || SSH_OPTS=()
|
||||
scp "${SSH_OPTS[@]}" -o StrictHostKeyChecking=accept-new -P "$SERVER_PORT" "$JAR_PATH" "$SERVER_USER@$SERVER_HOST:$REMOTE_DIR/"
|
||||
echo "上传完成."
|
||||
|
||||
echo ""
|
||||
echo "=== 3. 远程停止并重启 admin (profile=miao50, port=$ADMIN_LOCAL_PORT) ==="
|
||||
ssh "${SSH_OPTS[@]}" -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST" "cd $REMOTE_DIR && \
|
||||
(pkill -f $ADMIN_JAR_NAME || true) && \
|
||||
sleep 2 && \
|
||||
nohup java -jar $ADMIN_JAR_NAME --spring.profiles.active=miao50 --server.port=$ADMIN_LOCAL_PORT > admin.log 2>&1 & \
|
||||
sleep 3 && \
|
||||
(pgrep -f $ADMIN_JAR_NAME && echo 'Admin 进程已启动' || echo '请检查 admin.log 启动是否失败')"
|
||||
|
||||
echo ""
|
||||
echo "=== 部署完成 ==="
|
||||
92
backend/shell/startAdmin.sh
Executable file
92
backend/shell/startAdmin.sh
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/bin/bash
|
||||
|
||||
#开始时间 时间戳
|
||||
startTime=`date +'%Y-%m-%d %H:%M:%S'`
|
||||
|
||||
#接口项目站点路径(目录按照各自配置)
|
||||
APP_PATH=/usr/local/crmeb
|
||||
#APP_PATH=/Library/WebServer/Documents/zhongbang/java/crmeb/target
|
||||
|
||||
#jar包文件名称
|
||||
APP_NAME=$APP_PATH/chenyin-admin-2.2.jar
|
||||
|
||||
#日志文件名称
|
||||
LOG_FILE=$APP_PATH/cyadmin.log
|
||||
|
||||
#启动环境 # 如果需要配置数据和redis,请在 application-prod.yml中修改, 用jar命令修改即可
|
||||
APP_YML=--spring.profiles.active=chenyin
|
||||
|
||||
|
||||
#数据库配置
|
||||
|
||||
rm -rf $LOG_FILE
|
||||
|
||||
echo "开始停止 Crmeb 项目进程"
|
||||
#查询进程,并杀掉当前jar/java程序
|
||||
|
||||
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ $pid ];then
|
||||
echo "pid: $pid"
|
||||
kill -9 $pid
|
||||
echo "Crmeb 项目进程进程终止成功"
|
||||
fi
|
||||
|
||||
sleep 2
|
||||
|
||||
#判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志
|
||||
|
||||
if test -e $APP_NAME;then
|
||||
echo '文件存在,开始启动此程序...'
|
||||
|
||||
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件 --spring.profiles.active=prod 启动 prod环境
|
||||
|
||||
|
||||
nohup java -jar $APP_NAME $APP_YML > crmeb_out.log 2>&1 &
|
||||
echo "正在发布中,请稍后......"
|
||||
sleep 10s
|
||||
|
||||
#通过检测日志来判断
|
||||
while [ -f $LOG_FILE ]
|
||||
do
|
||||
success=`grep "Started CrmebAdminApplication in " $LOG_FILE`
|
||||
if [[ "$success" != "" ]]
|
||||
then
|
||||
# echo "Crmeb start ........."
|
||||
break
|
||||
else
|
||||
# echo "Crmeb Running ......."
|
||||
sleep 1s
|
||||
fi
|
||||
|
||||
# echo "开始检测启动失败标记"
|
||||
fail=`grep "Fail" $LOG_FILE`
|
||||
if [[ "$fail" != "" ]]
|
||||
then
|
||||
echo "项目启动失败"
|
||||
tail -f $LOG_FILE
|
||||
break
|
||||
else
|
||||
# echo "Crmeb Running ......."
|
||||
sleep 1s
|
||||
fi
|
||||
|
||||
done
|
||||
echo "Crmeb Started Success"
|
||||
|
||||
endTime=`date +'%Y-%m-%d %H:%M:%S'`
|
||||
startSecond=$(date --date="$startTime" +%s);
|
||||
endSecond=$(date --date="$endTime" +%s);
|
||||
|
||||
total=$((endSecond-startSecond))
|
||||
# shellcheck disable=SC2027
|
||||
echo "本次运行时间: "$total"s"
|
||||
# shellcheck disable=SC2086
|
||||
echo "当前时间:"$endTime
|
||||
|
||||
|
||||
|
||||
else
|
||||
echo '$APP_NAME 文件不存在,请检查。'
|
||||
fi
|
||||
|
||||
#在 $APP_NAME 同级目录下运行 ./startAdmin.sh 命令即可启动项目。
|
||||
92
backend/shell/startFront.sh
Executable file
92
backend/shell/startFront.sh
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/bin/bash
|
||||
|
||||
#开始时间 时间戳
|
||||
startTime=`date +'%Y-%m-%d %H:%M:%S'`
|
||||
|
||||
#接口项目站点路径(目录按照各自配置)
|
||||
APP_PATH=/usr/local/crmeb
|
||||
#APP_PATH=/Library/WebServer/Documents/zhongbang/java/crmeb/target
|
||||
|
||||
#jar包文件名称
|
||||
APP_NAME=$APP_PATH/chenyin-front-2.2.jar
|
||||
|
||||
#日志文件名称
|
||||
LOG_FILE=$APP_PATH/cyfront.log
|
||||
|
||||
#启动环境 # 如果需要配置数据和redis,请在 application-prod.yml中修改, 用jar命令修改即可
|
||||
APP_YML=--spring.profiles.active=chenyin
|
||||
|
||||
|
||||
#数据库配置
|
||||
|
||||
rm -rf $LOG_FILE
|
||||
|
||||
echo "开始停止项目进程"
|
||||
#查询进程,并杀掉当前jar/java程序
|
||||
|
||||
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ $pid ];then
|
||||
echo "pid: $pid"
|
||||
kill -9 $pid
|
||||
echo "项目进程进程终止成功"
|
||||
fi
|
||||
|
||||
sleep 2
|
||||
|
||||
#判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志
|
||||
|
||||
if test -e $APP_NAME;then
|
||||
echo '文件存在,开始启动此程序...'
|
||||
|
||||
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件 --spring.profiles.active=prod 启动 prod环境
|
||||
|
||||
|
||||
nohup java -jar $APP_NAME $APP_YML > cyfront.log 2>&1 &
|
||||
echo "正在发布中,请稍后......"
|
||||
sleep 10s
|
||||
|
||||
#通过检测日志来判断
|
||||
while [ -f $LOG_FILE ]
|
||||
do
|
||||
success=`grep "Started FrontApplication in " $LOG_FILE`
|
||||
if [[ "$success" != "" ]]
|
||||
then
|
||||
# echo "start ........."
|
||||
break
|
||||
else
|
||||
# echo "Running ......."
|
||||
sleep 1s
|
||||
fi
|
||||
|
||||
# echo "开始检测启动失败标记"
|
||||
fail=`grep "Fail" $LOG_FILE`
|
||||
if [[ "$fail" != "" ]]
|
||||
then
|
||||
echo "项目启动失败"
|
||||
tail -f $LOG_FILE
|
||||
break
|
||||
else
|
||||
# echo "Running ......."
|
||||
sleep 1s
|
||||
fi
|
||||
|
||||
done
|
||||
echo "Started Success"
|
||||
|
||||
endTime=`date +'%Y-%m-%d %H:%M:%S'`
|
||||
startSecond=$(date --date="$startTime" +%s);
|
||||
endSecond=$(date --date="$endTime" +%s);
|
||||
|
||||
total=$((endSecond-startSecond))
|
||||
# shellcheck disable=SC2027
|
||||
echo "本次运行时间: "$total"s"
|
||||
# shellcheck disable=SC2086
|
||||
echo "当前时间:"$endTime
|
||||
|
||||
|
||||
|
||||
else
|
||||
echo '$APP_NAME 文件不存在,请检查。'
|
||||
fi
|
||||
|
||||
#在 $APP_NAME 同级目录下运行 ./startAdmin.sh 命令即可启动项目。
|
||||
21
backend/shell/stopAdmin.sh
Normal file
21
backend/shell/stopAdmin.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
#接口项目站点路径(目录按照各自配置)
|
||||
APP_PATH=/usr/local/crmeb
|
||||
|
||||
#jar包文件名称
|
||||
APP_NAME=$APP_PATH/chenyin-admin-2.2.jar
|
||||
|
||||
echo "开始停止 Crmeb-admin 项目进程"
|
||||
#查询进程,并杀掉当前jar/java程序
|
||||
|
||||
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
|
||||
|
||||
echo "pid: $pid "
|
||||
|
||||
if [ $pid ];then
|
||||
echo "pid: $pid"
|
||||
kill -9 $pid
|
||||
echo "Crmeb-admin 项目进程进程终止成功"
|
||||
else
|
||||
echo "未找到对应服务"
|
||||
fi
|
||||
21
backend/shell/stopFront.sh
Normal file
21
backend/shell/stopFront.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
#接口项目站点路径(目录按照各自配置)
|
||||
APP_PATH=/usr/local/crmeb
|
||||
|
||||
#jar包文件名称
|
||||
APP_NAME=$APP_PATH/chenyin-front-2.2.jar
|
||||
|
||||
echo "开始停止admin项目进程"
|
||||
#查询进程,并杀掉当前jar/java程序
|
||||
|
||||
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
|
||||
|
||||
echo "pid: $pid "
|
||||
|
||||
if [ $pid ];then
|
||||
echo "pid: $pid"
|
||||
kill -9 $pid
|
||||
echo "admin项目进程进程终止成功"
|
||||
else
|
||||
echo "未找到对应服务"
|
||||
fi
|
||||
Reference in New Issue
Block a user