Files
integral-shop/backend-adminend/DEPLOY.md
2026-03-16 11:32:11 +08:00

2.3 KiB
Raw Blame History

前端打包与自动部署发布

本文档说明 admin 后台前端 的打包、以及如何自动部署发布到远程服务器(含与后端一起一键发布)。


一、环境要求

  • Node.jsnpm 已安装。
  • Node 17+ 需设置 OpenSSL 兼容(见下方打包命令)。
  • 部署到远程前需完成 SSH 免密(见 backend/DEPLOY.md)。

二、前端打包

frontend 目录 下执行:

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 目录 下执行:

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.confby80 段示例:

配置项 说明 示例
REMOTE_DIR_ADMIN 前端 dist 发布目录admin 后台站点根目录) /www/wwwroot/jfadmin.bosenyuan.com

脚本通过 tar 管道frontend/dist 内容上传到该目录,不依赖远程安装 rsync。


五、仅打包不发布

若只需在本地生成 dist、不执行上传与重启:

cd frontend
export NODE_OPTIONS="${NODE_OPTIONS:-} --openssl-legacy-provider"
npm run build:prod
# 产出frontend/dist

完整自动部署步骤、备份与重启说明见 backend/DEPLOY.md