shccd159: 新增 deploy-front-shccd159.sh,更新 DEPLOY.md
Made-with: Cursor
This commit is contained in:
@@ -143,14 +143,34 @@ cd backend
|
||||
|
||||
---
|
||||
|
||||
## 六、其他环境
|
||||
## 六、部署 miao-front(用户端 API)
|
||||
|
||||
### shccd159 环境
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
./shell/deploy-front-shccd159.sh
|
||||
```
|
||||
|
||||
脚本步骤:编译 crmeb-front → **云服务器备份原有 jar** → 上传 jar → 远程重启。
|
||||
|
||||
使用其他密钥:`SSH_IDENTITY=~/.ssh/你的私钥 ./shell/deploy-front-shccd159.sh`
|
||||
|
||||
**前置条件**:配置 SSH 免密,例如:
|
||||
```bash
|
||||
ssh-copy-id -i ~/.ssh/id_ed25519_crmeb_deploy.pub root@182.92.78.159
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、其他环境
|
||||
|
||||
- **miao50**:使用 `./shell/deploy-admin-miao50.sh`,逻辑类似,配置来自 deploy.conf 中 miao50 段。
|
||||
- **shjjy153**:deploy.conf 中配置了 `REMOTE_DIR_FRONT`,可扩展脚本上传 single_uniapp22miao 的 H5 构建产物到该目录。
|
||||
|
||||
---
|
||||
|
||||
## 七、远程服务器手动重启
|
||||
## 八、远程服务器手动重启
|
||||
|
||||
### 重启 admin(miao-admin-2.2.jar)
|
||||
|
||||
@@ -176,7 +196,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"`。
|
||||
|
||||
81
backend/shell/deploy-front-shccd159.sh
Executable file
81
backend/shell/deploy-front-shccd159.sh
Executable file
@@ -0,0 +1,81 @@
|
||||
#!/bin/bash
|
||||
# 编译并部署 miao-front(用户端 API)到 shccd159 云服务器
|
||||
# 部署前在云服务器上备份原有 jar
|
||||
# 使用: ./shell/deploy-front-shccd159.sh(在 backend 目录下)
|
||||
# 或指定密钥: SSH_IDENTITY=~/.ssh/your_key ./shell/deploy-front-shccd159.sh
|
||||
|
||||
set -e
|
||||
ENV_NAME="shccd159"
|
||||
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"
|
||||
|
||||
# 解析 shccd159 段配置(从 shccd159 到文件末尾)
|
||||
get_conf() {
|
||||
sed -n '/^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=182.92.78.159
|
||||
[[ -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 部署完成 ==="
|
||||
@@ -154,4 +154,4 @@
|
||||
|
||||
## 备注
|
||||
|
||||
本分支是基于 shccd159 分支的进一步开发,主要针对 jjy 项目进行定制化配置和功能优化。
|
||||
本分支是基于 shjjy153 分支的进一步开发,主要针对 jjy 项目进行定制化配置和功能优化。
|
||||
|
||||
Reference in New Issue
Block a user