diff --git a/backend-adminend/.env.development b/backend-adminend/.env.development index 36b3163..7b5d974 100644 --- a/backend-adminend/.env.development +++ b/backend-adminend/.env.development @@ -9,9 +9,9 @@ ENV = 'development' # VUE_APP_BASE_API = 'http://jfadmin.wenjinhui.com' # VUE_APP_BASE_API = 'http://jfadmin-bsy.bosenyuan.com' # shjjy153 项目 -# VUE_APP_BASE_API = 'http://jjy-jfadmin.fwxgpt.com' +VUE_APP_BASE_API = 'http://jjy-jfadmin.uj345.com' # shccd159 项目 -VUE_APP_BASE_API = 'http://ccd-jfadmin.fwxgpt.com' +# VUE_APP_BASE_API = 'http://ccd-jfadmin.cichude.com' # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, diff --git a/backend-adminend/.env.production b/backend-adminend/.env.production index 9d9e38a..d72a02f 100644 --- a/backend-adminend/.env.production +++ b/backend-adminend/.env.production @@ -6,17 +6,14 @@ ENV = 'production' # VUE_APP_BASE_API = 'http://127.0.0.1:8080' # VUE_APP_BASE_API = 'https://jf.suzhouyuqi.com' # miao33 项目 -<<<<<<<< HEAD:backend-adminend/.env.production # VUE_APP_BASE_API = 'http://jfadmin.xiashengjun.com' # shjjy153 项目 -# VUE_APP_BASE_API = 'http://jjy-jfadmin.fwxgpt.com' +VUE_APP_BASE_API = 'http://jjy-jfadmin.uj345.com' # shccd159 项目 -VUE_APP_BASE_API = 'http://ccd-jfadmin.fwxgpt.com' -======== -VUE_APP_BASE_API = 'http://jfadmin.xiashengjun.com' +# VUE_APP_BASE_API = 'http://ccd-jfadmin.cichude.com' + + # VUE_APP_BASE_API = 'http://jfanyueadmin.szxingming.com' # VUE_APP_BASE_API = 'http://jfadmin-bsy.bosenyuan.com' - ->>>>>>>> origin/main:frontend/.env.production diff --git a/backend/DEPLOY.md b/backend/DEPLOY.md index 2ff8e14..826084a 100644 --- a/backend/DEPLOY.md +++ b/backend/DEPLOY.md @@ -10,7 +10,7 @@ | jar 包 | 对应前端 | 说明 | |--------|----------|------| -| **miao-admin-2.2.jar** | `frontend`(admin 后台 Vue) | 管理后台 API + 后台静态站点 | +| **miao-admin-2.2.jar** | `backend-adminend`(admin 后台 Vue) | 管理后台 API + 后台静态站点 | | **miao-front-2.2.jar** | `single_uniapp22miao`(用户端 H5/uni-app) | 积分商城、用户端 API | ### 4 个子项目(可单独打包部署) @@ -19,7 +19,7 @@ |--------|------|----------|------| | **crmeb-admin** | `miao-admin-2.2.jar` | `mvn clean package -pl crmeb-admin -am -DskipTests` | 管理后台后端 | | **crmeb-front** | `miao-front-2.2.jar` | `mvn clean package -pl crmeb-front -am -DskipTests` | 用户端 API | -| **frontend** | `frontend/dist` | `npm run build:prod` | 管理后台前端静态 | +| **backend-adminend** | `backend-adminend/dist` | `npm run build:prod` | 管理后台前端静态 | | **single_uniapp22miao** | `single_uniapp22miao/unpackage/dist/build/h5` | `npm run build:h5` | 用户端 H5 静态 | --- @@ -69,13 +69,13 @@ mvn clean package -pl crmeb-front -am -DskipTests # 产出:backend/crmeb-front/target/miao-front-2.2.jar ``` -### 3. 仅打包 admin 后台前端(frontend) +### 3. 仅打包 admin 后台前端(backend-adminend) ```bash -cd frontend +cd backend-adminend export NODE_OPTIONS="${NODE_OPTIONS:-} --openssl-legacy-provider" # Node 17+ 需要 npm run build:prod -# 产出:frontend/dist +# backend-adminend/dist ``` ### 4. 仅打包用户端 H5 前端(single_uniapp22miao) @@ -135,10 +135,10 @@ cd backend | 步骤 | 说明 | |------|------| | 1 | 编译 crmeb-admin,生成 miao-admin-2.2.jar | -| 2 | 编译 frontend,生成 dist | +| 2 | 编译 backend-adminend,生成 dist | | 3 | 远程备份原有 jar 与后台静态 | | 4 | 上传 miao-admin-2.2.jar 到 REMOTE_DIR_JAR | -| 5 | 上传 frontend/dist 到 REMOTE_DIR_ADMIN | +| 5 | 上传 backend-adminend/dist 到 REMOTE_DIR_ADMIN | | 6 | 远程重启 admin 服务(profile=miao80, port=30032) | --- @@ -163,14 +163,49 @@ ssh-copy-id -i ~/.ssh/id_ed25519_crmeb_deploy.pub root@182.92.78.159 --- -## 七、其他环境 +## 七、shjjy153 环境 admin 部署(可拆分) + +shjjy153 支持 admin 全量部署,也可**单独部署 API 或 Vue 前端**。 + +### 1. 全量部署(API + Vue) + +```bash +cd backend +./shell/deploy-admin-shjjy153.sh +``` + +依次执行 `deploy-admin-api-shjjy153.sh` 和 `deploy-admin-vue-shjjy153.sh`。 + +### 2. 仅部署 miao-admin API(miao-admin-2.2.jar) + +```bash +cd backend +./shell/deploy-admin-api-shjjy153.sh +``` + +步骤:编译 crmeb-admin → 云服务器备份 jar → 上传 jar → 远程重启 admin 服务。 + +### 3. 仅部署 backend-adminend(Vue 前端) + +```bash +cd backend +./shell/deploy-admin-vue-shjjy153.sh +``` + +步骤:编译 backend-adminend → 云服务器备份静态 → 上传 dist 到 REMOTE_DIR_ADMIN。 + +使用其他密钥:`SSH_IDENTITY=~/.ssh/你的私钥 ./shell/deploy-admin-api-shjjy153.sh` + +--- + +## 八、其他环境 - **miao50**:使用 `./shell/deploy-admin-miao50.sh`,逻辑类似,配置来自 deploy.conf 中 miao50 段。 - **shjjy153**:deploy.conf 中配置了 `REMOTE_DIR_FRONT`,可扩展脚本上传 single_uniapp22miao 的 H5 构建产物到该目录。 --- -## 八、远程服务器手动重启 +## 九、远程服务器手动重启 ### 重启 admin(miao-admin-2.2.jar) @@ -196,7 +231,7 @@ pgrep -f miao-front-2.2.jar && echo "Front 已启动" --- -## 九、故障排查 +## 十、故障排查 - **SSH Permission denied**:检查 `ssh-copy-id` 是否成功,或指定正确 `SSH_IDENTITY`。 - **前端构建 OpenSSL 报错**:设置 `export NODE_OPTIONS="--openssl-legacy-provider"`。 diff --git a/backend/crmeb-front/src/main/resources/application.yml b/backend/crmeb-front/src/main/resources/application.yml index 02f303b..2280dfb 100644 --- a/backend/crmeb-front/src/main/resources/application.yml +++ b/backend/crmeb-front/src/main/resources/application.yml @@ -32,7 +32,7 @@ server: spring: profiles: - active: shccd159 + active: shjjy153 servlet: multipart: max-file-size: 50MB #设置单个文件大小 diff --git a/backend/shell/deploy-admin-api-shjjy153.sh b/backend/shell/deploy-admin-api-shjjy153.sh new file mode 100755 index 0000000..b16bbce --- /dev/null +++ b/backend/shell/deploy-admin-api-shjjy153.sh @@ -0,0 +1,84 @@ +#!/bin/bash +# 仅打包部署 miao-admin-2.2.jar(后台 API 服务)到 shjjy153 云服务器 +# 部署前在云服务器上备份原有 jar +# 使用: ./shell/deploy-admin-api-shjjy153.sh(在 backend 目录下) +# 或指定密钥: SSH_IDENTITY=~/.ssh/your_key ./shell/deploy-admin-api-shjjy153.sh + +set -e +SSH_IDENTITY="${SSH_IDENTITY:-$HOME/.ssh/id_ed25519_crmeb_deploy}" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +BACKEND_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" +DEPLOY_CONF="$BACKEND_DIR/deploy.conf" + +get_conf() { + sed -n '/^shjjy153:/,/^shccd159:/p' "$DEPLOY_CONF" | grep -E "^${1}=" | 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_JAR=$(get_conf REMOTE_DIR_JAR) +ADMIN_JAR_NAME=$(get_conf ADMIN_JAR_NAME) +ADMIN_LOCAL_PORT=$(get_conf ADMIN_LOCAL_PORT) + +[[ -z "$SERVER_HOST" ]] && SERVER_HOST=101.132.245.153 +[[ -z "$REMOTE_DIR_JAR" ]] && REMOTE_DIR_JAR=/www/wwwroot/javaapi +[[ -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="$BACKEND_DIR/crmeb-admin/target/$ADMIN_JAR_NAME" +REMOTE_JAR="$REMOTE_DIR_JAR/$ADMIN_JAR_NAME" +[[ -f "$SSH_IDENTITY" ]] && SSH_OPTS=(-o "IdentityFile=$SSH_IDENTITY") || SSH_OPTS=() +SSH_CMD=(ssh "${SSH_OPTS[@]}" -o StrictHostKeyChecking=accept-new -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST") +SCP_CMD=(scp "${SSH_OPTS[@]}" -o StrictHostKeyChecking=accept-new -P "$SERVER_PORT") + +BACKUP_SUFFIX="backup_$(date +%Y%m%d_%H%M%S)" +APP_YML="$BACKEND_DIR/crmeb-admin/src/main/resources/application.yml" + +echo "=== 仅部署 miao-admin(后台 API)到 shjjy153 ===" +echo " 服务器: $SERVER_USER@$SERVER_HOST" +echo " 目标: $REMOTE_DIR_JAR/$ADMIN_JAR_NAME" +echo "" + +echo "=== 1. 编译 crmeb-admin(miao-admin-2.2.jar, profile=shjjy153)===" +cd "$BACKEND_DIR" +if [[ -f "$APP_YML" ]]; then + cp -a "$APP_YML" "${APP_YML}.bak" + sed -E 's/active: *[a-zA-Z0-9]+/active: shjjy153/' "$APP_YML" > "${APP_YML}.new" && mv "${APP_YML}.new" "$APP_YML" + trap 'cp -a "${APP_YML}.bak" "$APP_YML"; rm -f "${APP_YML}.bak"; trap - EXIT' EXIT +fi +mvn clean package -pl crmeb-admin -am -DskipTests -q +echo "已生成: $JAR_PATH" +[[ ! -f "$JAR_PATH" ]] && { echo "错误: jar 未生成"; exit 1; } +[[ -f "${APP_YML}.bak" ]] && { cp -a "${APP_YML}.bak" "$APP_YML"; rm -f "${APP_YML}.bak"; trap - EXIT; } + +echo "" +echo "=== 2. 云服务器备份原有 jar ===" +"${SSH_CMD[@]}" "bash -s" << REMOTE_BACKUP +set -e +mkdir -p "$REMOTE_DIR_JAR/backups" +if [ -f "$REMOTE_JAR" ]; then + cp -a "$REMOTE_JAR" "$REMOTE_DIR_JAR/backups/${ADMIN_JAR_NAME}.${BACKUP_SUFFIX}" + echo "已备份: $REMOTE_DIR_JAR/backups/${ADMIN_JAR_NAME}.${BACKUP_SUFFIX}" +else + echo "远程无原有 jar,跳过备份" +fi +REMOTE_BACKUP + +echo "" +echo "=== 3. 上传 $ADMIN_JAR_NAME 到 $REMOTE_DIR_JAR ===" +"${SCP_CMD[@]}" "$JAR_PATH" "$SERVER_USER@$SERVER_HOST:$REMOTE_DIR_JAR/" +echo "jar 上传完成." + +echo "" +echo "=== 4. 远程重启 admin API 服务 (profile=shjjy153, port=$ADMIN_LOCAL_PORT) ===" +"${SSH_CMD[@]}" "cd $REMOTE_DIR_JAR && \ + (pkill -f $ADMIN_JAR_NAME || true) && \ + sleep 2 && \ + nohup java -Xms128m -Xmx256m -jar $ADMIN_JAR_NAME --spring.profiles.active=shjjy153 --server.port=$ADMIN_LOCAL_PORT > admin.log 2>&1 & \ + sleep 3 && \ + (pgrep -f $ADMIN_JAR_NAME && echo 'miao-admin 已启动' || (echo '请检查 admin.log'; tail -20 admin.log))" + +echo "" +echo "=== miao-admin API 部署完成 ===" diff --git a/backend/shell/deploy-admin-shjjy153.sh b/backend/shell/deploy-admin-shjjy153.sh new file mode 100755 index 0000000..1f48832 --- /dev/null +++ b/backend/shell/deploy-admin-shjjy153.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# 一键部署 admin 后台(API + Vue 前端)到 shjjy153 +# 依次执行 deploy-admin-api-shjjy153.sh 和 deploy-admin-vue-shjjy153.sh +# 使用: ./shell/deploy-admin-shjjy153.sh(在 backend 目录下) +# 单独部署 API: ./shell/deploy-admin-api-shjjy153.sh +# 单独部署 Vue: ./shell/deploy-admin-vue-shjjy153.sh + +set -e +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +echo "=== 一键部署 admin(API + Vue)到 shjjy153 ===" +echo "" + +"$SCRIPT_DIR/deploy-admin-api-shjjy153.sh" +echo "" +"$SCRIPT_DIR/deploy-admin-vue-shjjy153.sh" + +echo "" +echo "=== shjjy153 admin 全量部署完成 ===" diff --git a/backend/shell/deploy-admin-vue-shjjy153.sh b/backend/shell/deploy-admin-vue-shjjy153.sh new file mode 100755 index 0000000..cbe4107 --- /dev/null +++ b/backend/shell/deploy-admin-vue-shjjy153.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# 仅打包部署 backend-adminend(后台 Vue 前端)到 shjjy153 云服务器 +# 部署前在云服务器上备份原有静态文件 +# 使用: ./shell/deploy-admin-vue-shjjy153.sh(在 backend 目录下) +# 或指定密钥: SSH_IDENTITY=~/.ssh/your_key ./shell/deploy-admin-vue-shjjy153.sh + +set -e +SSH_IDENTITY="${SSH_IDENTITY:-$HOME/.ssh/id_ed25519_crmeb_deploy}" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +BACKEND_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" +ROOT_DIR="$(cd "$BACKEND_DIR/.." && pwd)" +FRONTEND_DIR="${ROOT_DIR}/backend-adminend" +[[ ! -d "$FRONTEND_DIR" ]] && FRONTEND_DIR="${ROOT_DIR}/frontend" +DEPLOY_CONF="$BACKEND_DIR/deploy.conf" + +get_conf() { + sed -n '/^shjjy153:/,/^shccd159:/p' "$DEPLOY_CONF" | grep -E "^${1}=" | 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_ADMIN=$(get_conf REMOTE_DIR_ADMIN) + +[[ -z "$SERVER_HOST" ]] && SERVER_HOST=101.132.245.153 +[[ -z "$REMOTE_DIR_ADMIN" ]] && REMOTE_DIR_ADMIN=/www/wwwroot/jjy-jfadmin.fwxgpt.com +[[ -z "$SERVER_USER" ]] && SERVER_USER=root +[[ -z "$SERVER_PORT" ]] && SERVER_PORT=22 + +[[ -f "$SSH_IDENTITY" ]] && SSH_OPTS=(-o "IdentityFile=$SSH_IDENTITY") || SSH_OPTS=() +SSH_CMD=(ssh "${SSH_OPTS[@]}" -o StrictHostKeyChecking=accept-new -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST") + +BACKUP_SUFFIX="backup_$(date +%Y%m%d_%H%M%S)" + +[[ ! -d "$FRONTEND_DIR" ]] && { echo "错误: 未找到 admin 前端目录 (backend-adminend 或 frontend)"; exit 1; } + +echo "=== 仅部署 backend-adminend(后台 Vue 前端)到 shjjy153 ===" +echo " 服务器: $SERVER_USER@$SERVER_HOST" +echo " 目标: $REMOTE_DIR_ADMIN" +echo "" + +echo "=== 1. 编译 backend-adminend (npm run build:prod) ===" +cd "$FRONTEND_DIR" +# Node 17–18 需要 --openssl-legacy-provider;Node 22+ 已不支持,不设置 +NODE_MAJOR=$(node -v 2>/dev/null | sed -E 's/^v([0-9]+).*/\1/' || echo 0) +if [[ "$NODE_MAJOR" -ge 17 && "$NODE_MAJOR" -le 21 ]]; then + export NODE_OPTIONS="${NODE_OPTIONS:-} --openssl-legacy-provider" +fi +npm run build:prod +echo "已生成: $FRONTEND_DIR/dist" +[[ ! -d "$FRONTEND_DIR/dist" ]] && { echo "错误: dist 未生成"; exit 1; } + +echo "" +echo "=== 2. 云服务器备份原有静态 ===" +"${SSH_CMD[@]}" "bash -s" << REMOTE_BACKUP +set -e +if [ -d "$REMOTE_DIR_ADMIN" ] && [ "\$(ls -A $REMOTE_DIR_ADMIN 2>/dev/null)" ]; then + BACKUP_TAR="$REMOTE_DIR_ADMIN/../jfadmin_${BACKUP_SUFFIX}.tar.gz" + tar -czf "\$BACKUP_TAR" -C "$REMOTE_DIR_ADMIN" . + echo "已备份: \$BACKUP_TAR" +else + echo "远程目录为空或不存在,跳过备份" +fi +REMOTE_BACKUP + +echo "" +echo "=== 3. 上传 dist 到 $REMOTE_DIR_ADMIN ===" +"${SSH_CMD[@]}" "mkdir -p $REMOTE_DIR_ADMIN && (rm -rf ${REMOTE_DIR_ADMIN}/* ${REMOTE_DIR_ADMIN}/.??* 2>/dev/null; true)" +(cd "$FRONTEND_DIR/dist" && tar cf - .) | "${SSH_CMD[@]}" "mkdir -p $REMOTE_DIR_ADMIN && cd $REMOTE_DIR_ADMIN && tar xf -" +echo "后台 Vue 静态上传完成." + +echo "" +echo "=== backend-adminend 部署完成 ===" diff --git a/backend/shell/deploy-front-shjjy153.sh b/backend/shell/deploy-front-shjjy153.sh new file mode 100755 index 0000000..ec24e38 --- /dev/null +++ b/backend/shell/deploy-front-shjjy153.sh @@ -0,0 +1,81 @@ +#!/bin/bash +# 编译并部署 miao-front(用户端 API)到 shjjy153 云服务器 +# 部署前在云服务器上备份原有 jar +# 使用: ./shell/deploy-front-shjjy153.sh(在 backend 目录下) +# 或指定密钥: SSH_IDENTITY=~/.ssh/your_key ./shell/deploy-front-shjjy153.sh + +set -e +ENV_NAME="shjjy153" +SSH_IDENTITY="${SSH_IDENTITY:-$HOME/.ssh/id_ed25519_crmeb_deploy}" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +BACKEND_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" +DEPLOY_CONF="$BACKEND_DIR/deploy.conf" + +# 解析 shjjy153 段配置(从 shjjy153 到 shccd159 段之前) +get_conf() { + sed -n '/^shjjy153:/,/^shccd159:/p' "$DEPLOY_CONF" | grep -E "^${1}=" | 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_JAR=$(get_conf REMOTE_DIR_JAR) +FRONT_JAR_NAME=$(get_conf FRONT_JAR_NAME) +FRONT_LOCAL_PORT=$(get_conf FRONT_LOCAL_PORT) +SPRING_PROFILE="${ENV_NAME}" + +[[ -z "$SERVER_HOST" ]] && SERVER_HOST=101.132.245.153 +[[ -z "$REMOTE_DIR_JAR" ]] && REMOTE_DIR_JAR=/www/wwwroot/javaapi +[[ -z "$FRONT_JAR_NAME" ]] && FRONT_JAR_NAME=miao-front-2.2.jar +[[ -z "$FRONT_LOCAL_PORT" ]] && FRONT_LOCAL_PORT=30031 +[[ -z "$SERVER_USER" ]] && SERVER_USER=root +[[ -z "$SERVER_PORT" ]] && SERVER_PORT=22 + +JAR_PATH="$BACKEND_DIR/crmeb-front/target/$FRONT_JAR_NAME" +REMOTE_JAR="$REMOTE_DIR_JAR/$FRONT_JAR_NAME" +[[ -f "$SSH_IDENTITY" ]] && SSH_OPTS=(-o "IdentityFile=$SSH_IDENTITY") || SSH_OPTS=() +SSH_CMD=(ssh "${SSH_OPTS[@]}" -o StrictHostKeyChecking=accept-new -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST") +SCP_CMD=(scp "${SSH_OPTS[@]}" -o StrictHostKeyChecking=accept-new -P "$SERVER_PORT") + +BACKUP_SUFFIX="backup_$(date +%Y%m%d_%H%M%S)" + +echo "=== 部署 miao-front(用户端 API)到 $ENV_NAME 云服务器 ===" +echo " 服务器: $SERVER_USER@$SERVER_HOST" +echo " 目标目录: $REMOTE_DIR_JAR" +echo " Profile: $SPRING_PROFILE" +echo "" + +echo "=== 1. 编译 crmeb-front(miao-front-2.2.jar)===" +cd "$BACKEND_DIR" +mvn clean package -pl crmeb-front -am -DskipTests -q +echo "已生成: $JAR_PATH" +[[ ! -f "$JAR_PATH" ]] && { echo "错误: jar 未生成"; exit 1; } + +echo "" +echo "=== 2. 云服务器备份原有 jar ===" +"${SSH_CMD[@]}" "bash -s" << REMOTE_BACKUP +set -e +mkdir -p "$REMOTE_DIR_JAR/backups" +if [ -f "$REMOTE_JAR" ]; then + cp -a "$REMOTE_JAR" "$REMOTE_DIR_JAR/backups/${FRONT_JAR_NAME}.${BACKUP_SUFFIX}" + echo "已备份: $REMOTE_DIR_JAR/backups/${FRONT_JAR_NAME}.${BACKUP_SUFFIX}" +else + echo "远程无原有 jar,跳过备份" +fi +REMOTE_BACKUP + +echo "" +echo "=== 3. 上传 $FRONT_JAR_NAME 到 $REMOTE_DIR_JAR ===" +"${SCP_CMD[@]}" "$JAR_PATH" "$SERVER_USER@$SERVER_HOST:$REMOTE_DIR_JAR/" +echo "jar 上传完成." + +echo "" +echo "=== 4. 远程重启 miao-front 服务 (profile=$SPRING_PROFILE, port=$FRONT_LOCAL_PORT) ===" +"${SSH_CMD[@]}" "cd $REMOTE_DIR_JAR && \ + (pkill -f $FRONT_JAR_NAME || true) && \ + sleep 2 && \ + nohup java -Xms128m -Xmx256m -jar $FRONT_JAR_NAME --spring.profiles.active=$SPRING_PROFILE --server.port=$FRONT_LOCAL_PORT > front.log 2>&1 & \ + sleep 3 && \ + (pgrep -f $FRONT_JAR_NAME && echo 'miao-front 已启动' || (echo '启动可能失败,请检查 front.log'; tail -20 front.log))" + +echo "" +echo "=== miao-front 部署完成 ===" diff --git a/compare-shjjy153-shccd159.md b/compare-shjjy153-shccd159.md new file mode 100644 index 0000000..27d65da --- /dev/null +++ b/compare-shjjy153-shccd159.md @@ -0,0 +1,57 @@ +# shjjy153 与 shccd159 分支对比 + +## 1. 提交差异 + +- **shjjy153 独有**:`0f02cb7 shjjy153: 新增 deploy-front-shjjy153.sh,更新配置` +- **shccd159**:无此提交,因此没有 `deploy-front-shjjy153.sh` + +--- + +## 2. 文件差异 + +| 文件 | shjjy153 | shccd159 | +|------|----------|----------| +| **backend/shell/deploy-front-shjjy153.sh** | 存在 | 不存在 | +| **backend/shell/deploy-front-shccd159.sh** | 存在 | 存在 | +| **application.yml** `spring.profiles.active` | `shjjy153` | `shccd159` | +| **single_uniapp22miao/config/app.js** | `jjy-jf.fwxgpt.com` | `ccd-jf.fwxgpt.com` | + +--- + +## 3. 配置差异 + +### application.yml(默认 profile) + +```yaml +# shjjy153 +spring.profiles.active: shjjy153 + +# shccd159 +spring.profiles.active: shccd159 +``` + +### single_uniapp22miao/config/app.js(API 与 H5 域名) + +| 配置 | shjjy153 | shccd159 | +|------|----------|----------| +| domain | `https://jjy-jf.fwxgpt.com` | `https://ccd-jf.fwxgpt.com` | +| HTTP_H5_URL | `https://jjy-jf.fwxgpt.com` | `https://ccd-jf.fwxgpt.com` | + +--- + +## 4. 部署环境(deploy.conf) + +两分支的 `deploy.conf` 相同,均包含 shjjy153 与 shccd159 两套配置: + +| 环境 | 服务器 | 域名 | +|------|--------|------| +| **shjjy153** | 101.132.245.153 | jjy-jf.fwxgpt.com / jjy-jfadmin.fwxgpt.com | +| **shccd159** | 182.92.78.159 | ccd-jf.fwxgpt.com / ccd-jfadmin.fwxgpt.com | + +--- + +## 5. 小结 + +- **shjjy153**:面向 jjy 项目,默认 profile=shjjy153,有 `deploy-front-shjjy153.sh` +- **shccd159**:面向 ccd 项目,默认 profile=shccd159,无 `deploy-front-shjjy153.sh` +- 其余代码与配置基本一致,差异集中在默认 profile、前端 API 域名及部署脚本