Files
2026-03-16 11:32:11 +08:00

81 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 前端打包与自动部署发布
本文档说明 **admin 后台前端** 的打包、以及如何自动部署发布到远程服务器(含与后端一起一键发布)。
---
## 一、环境要求
- **Node.js**、**npm** 已安装。
- **Node 17+** 需设置 OpenSSL 兼容(见下方打包命令)。
- 部署到远程前需完成 **SSH 免密**(见 [backend/DEPLOY.md](../backend/DEPLOY.md))。
---
## 二、前端打包
**frontend 目录** 下执行:
```bash
cd frontend
# Node 17+ 如遇 digital envelope 报错,先执行:
export NODE_OPTIONS="${NODE_OPTIONS:-} --openssl-legacy-provider"
npm run build:prod
```
- **产出目录**`frontend/dist`
- **用途**admin 后台静态资源,将 `dist` 内容部署到站点根目录(如 Nginx 或 CDN
---
## 三、自动部署发布(推荐)
前端与后端一起发布时,使用 **backend 的一键部署脚本**,会自动完成:前端打包 → 后端打包 → 远程备份 → 上传 jar 与 `dist` → 重启服务。
在项目 **backend 目录** 下执行:
```bash
cd backend
./shell/deploy-admin-by80.sh
```
脚本会:
1. 编译后端,生成 `miao-admin-2.2.jar`
2. **在 frontend 目录执行 `npm run build:prod`**,生成 `dist`
3. 远程备份原有 jar 与后台静态
4. 上传 jar 到 `REMOTE_DIR_JAR`,上传 **dist 到 REMOTE_DIR_ADMIN**
5. 远程重启 admin 服务Spring Profile miao80
即:**前端无需单独操作,一次执行即可完成前端打包 + 自动部署发布**。
SSH 配置、deploy.conf、故障排查见**[backend/DEPLOY.md](../backend/DEPLOY.md)**。
---
## 四、部署配置(前端相关)
配置在 **backend/deploy.conf**by80 段示例:
| 配置项 | 说明 | 示例 |
|--------|------|------|
| **REMOTE_DIR_ADMIN** | 前端 dist 发布目录admin 后台站点根目录) | `/www/wwwroot/jfadmin.bosenyuan.com` |
脚本通过 **tar 管道**`frontend/dist` 内容上传到该目录,不依赖远程安装 rsync。
---
## 五、仅打包不发布
若只需在本地生成 `dist`、不执行上传与重启:
```bash
cd frontend
export NODE_OPTIONS="${NODE_OPTIONS:-} --openssl-legacy-provider"
npm run build:prod
# 产出frontend/dist
```
完整自动部署步骤、备份与重启说明见 **[backend/DEPLOY.md](../backend/DEPLOY.md)**。