feat(部署): 新增 deployment/ 内外网两套按侧部署包

按 demo/ 的写法把交付包改成「角色由目录决定」:iw/ 拷内网机、ow/ 拷外网机,
各自含镜像 tar、SQL、配置与 install.sh,install.sh 不再收 iw/ow 参数。

前端不再打进镜像,改为静态包放在 <侧>/web/ 只读挂进 nginx:1.27-alpine,
现场临时改页面直接替换文件 + restart web 即可。数据仍全部挂宿主机,
子目录命名与 deploy/offline 一致(pgdata/redis/mq/upload/logs/gate),
默认根改为包内 ./volumes,放数据盘只改 .env 的 SFILE_DATA_ROOT。

后端镜像 sfile-app:1.0.1 含传输优化那一批(实测组包 11.4×、解包 9.9×)。
出包脚本 deployment/scripts/build-package.sh 负责 jar→镜像→前端双包→sql→tar→VERSION。
This commit is contained in:
KodouWZF
2026-11-04 21:44:56 +08:00
parent 339f2c34ab
commit d39b3b035d
884 changed files with 316455 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
-- =============================================================
-- 升级脚本:跨网传输链路性能优化(第一批)
-- 日期:2026-11-03
-- 说明:给 xs_file_record.md5_code 补索引。
-- 文件入库时会用 MD5 做内容去重查询
-- (FileServiceImpl 上传 → find(md5Code)),此前该列无索引,
-- 每个文件入库都是一次全表扫描。解包一个含 N 个文件的传输包
-- 就是 N 次全表扫描,数据量上来后是多文件解包的主要数据库开销。
-- 新环境由 init 脚本建表时已包含该索引,本脚本仅供已上线环境增量执行。
-- 执行方式:MySQL/达梦(DM8 MySQL兼容模式)执行第 1 节;
-- PostgreSQL 执行第 2 节。
-- 注意:表数据量大时建索引会锁写,建议业务低峰执行。
-- 重复执行会报「索引已存在」,忽略即可。
-- =============================================================
-- -------------------------------------------------------------
-- 1. MySQL / 达梦 DM8
-- -------------------------------------------------------------
CREATE INDEX idx_file_record_md5_code ON xs_file_record(md5_code);
-- -------------------------------------------------------------
-- 2. PostgreSQL
-- -------------------------------------------------------------
-- 表已有数据且不能停写时,改用下面这句(不可在事务块内执行):
-- CREATE INDEX CONCURRENTLY idx_file_record_md5_code ON xs_file_record(md5_code);
CREATE INDEX IF NOT EXISTS idx_file_record_md5_code ON xs_file_record(md5_code);