如何打出宝塔安装包
生产宝塔机不要编译。安装包由实施方(或客户自己的一台开发/打包电脑)打好,再上传到服务器执行 install.sh / update.sh。
发给客户时 方案 A 或 B 已经写死,不要让现场选择题。
三种档位
| 档 | 谁做 | 怎么做 | 适用 |
|---|---|---|---|
| 0 收现成包 | 客户 | 收到 zip → 上传服务器 → bash install.sh | 默认。生产机只做这一档 |
| 1 自己打包 | 实施方 / 客户开发机 | 双击 打包.bat 或跑 pack-host.ps1 | 要出新包、旁边有源码或 Docker |
| 2 打包服务 | 商业版用户登录 打包平台 填配置,我方审批后出包 | 已提供(官方 tag 基线 + 离线 zip) | 不会在本机编 Maven/Node 时 |
档 0:客户只收包
你发给客户一个目录,名字类似:
ruoyi-office-baota-20260826/
install.sh ← 首装
update.sh ← 以后更新(不毁库)
health.sh ← 巡检
compose/ ← docker-compose 与 .env
nginx/ ← 站点模板
sql/ ← 建库 + 静态数据(约二十多 MB)
web/ ← 前端,访问前缀 /web/
app/yudao-server.jar
scripts/客户按 方案 A 教程 或 方案 B 教程 上传并安装即可。
不要让客户用 phpMyAdmin 导入 02_static_data.sql,文件太大,脚本会自动导入。
档 1:在开发机打包(本仓库)
前提:这台电脑能访问本工作区源码(ruoyi-office、ruoyi-office-vben、ruoyi-office-db),已装 JDK 17、Maven、Node/pnpm。本机可以没有 Docker。
打开资源管理器,进入:
ruoyi-office-customer-deploy\baota-pack\packager\双击
打包.bat。它会检测到旁边的源码,自动执行pack-host.ps1:Maven 打
yudao-server.jar(约 500MB+)用
.env.baota(VITE_BASE=/web/)构建前端从
ruoyi-office-db/dump/latest/拷贝最新 schema / static_data组装到:
ruoyi-office-customer-deploy\baota-pack\_delivery\ruoyi-office-baota-日期\
把该目录打成 zip(或整目录拷走),交给现场。
也可以在 PowerShell 里手动跑:
cd ruoyi-office-customer-deploy\baota-pack\packager
.\pack-host.ps1打包前按客户改 profile
customers/{客户名}/customer.env 至少写死:
DEPLOY_MODE=a
SITE_HOST=客户服务器IP或域名
HTTP_PORT=80方案 B 则 DEPLOY_MODE=b,并带上 JAVA_OPTS(8G 内存建议 -Xmx1g)。
安装时真正生效的是服务器上的 compose/.env(见各方案教程),打包机这份用于以后「一客户一份 env」。
档 1 备选:只有 Docker、没有 JDK
若打包电脑没有源码仓库,但有 Docker:
- 解压我们给的
ruoyi-packager小目录。 - 准备
customer.env、.pack-credentials(按说明填源码拉取方式)。 - 双击
打包.bat:会docker run ruoyi-packager,产物在out/。
当前实验室常用的是「开发机 pack-host.ps1」这条路径。
档 2:在线打包平台
商业版用户(已获 Codeup 仓库权限)打开 https://pack.ruoyioffice.com:
- 用 只读 Deploy Token 登录(禁止管理员账号、禁止把可写 Token 交给平台)。
- 向导选择通用单体 / 宝塔 A / 宝塔 B,填写域名、路径前缀、中间件占位(默认不填生产密码)。
- 提交后进入 我方审批;通过后农场用官方 tag 基线出 zip,限时下载。
- 生产机仍按档 0:上传后
bash install.sh,不要在宝塔机编译。
微服务 / Windows / APK / 信创 / 二开分支编译尚未开放。
打完后自检
打开产物目录,确认:
| 文件 | 要求 |
|---|---|
app/yudao-server.jar | 存在,体积通常 > 400MB |
web/index.html | 存在;源码里资源路径是 /web/ |
sql/01_schema.sql、sql/02_static_data.sql | 存在,static_data 大约二十 MB |
compose/docker-compose.a.yml 与 b.yml | 都在,安装脚本按 .env 的 DEPLOY_MODE 选用 |
install.sh | 用记事本打开应是 Unix 换行;现场会再 sed 去 \r |
然后按对应方案教程上传到 /opt/ruoyi-office-pack。
