XuqmGroup-PrivateDeploy/CHANGELOG.md

2.7 KiB

更新日志

2026.07.28-private.1

  • 私有化升级继承完整服务 profile,自动移除已废弃的 license profile,并在存在 BugCollect 定义时追加而不是覆盖原 profile,避免升级只拉取单一服务。
  • 旧部署缺少 JWT 和应用商店监测密钥时各生成一次部署独享密钥,后续升级保持原值; 不再使用可公开推导的 JWT 默认值。
  • 全量部署移除镜像仓库、MySQL 和 Redis 的可用默认密码;交互模式安全输入, 非交互模式必须显式注入只读仓库凭据,托管数据库密码自动随机生成。
  • 删除未被入口调用的重复 configure/install/upgrade 实现、占位目录文件和不存在的 docs-site 独立镜像定义;文档站继续由 tenant-web 在 /docs/ 提供。
  • 修正环境加载优先级:config/infra.env 仅作为默认值,部署生成的 .env 为 MySQL/Redis 模式和 profile 的权威来源,避免托管数据库被备份脚本误判为外部数据库。
  • 可选 MySQL 用户配置缺失时不再被 Bash set -e 误判为升级致命错误;只有真正 必需的数据库/Redis 密码缺失才会在修改容器前给出明确失败信息。
  • 业务升级只拉取 Xuqm 应用镜像,不再无条件拉取 MySQL、Redis 与 nginx 的 Docker Hub 基础镜像,避免内网环境长时间阻塞并防止基础设施被意外换版。
  • BugCollect 建库与 schema 预检只使用当前 Compose 项目的 MySQL 服务,不再按 容器名模糊匹配宿主机上的其他数据库;预检失败会进入明确告警分支而非被 set -e 无提示中断。

2026.06.18-private.1

修复

Flyway 迁移校验和不匹配导致服务 crash-loop

  • 所有服务的 application.yml 添加 spring.flyway.validate-on-migrate: false
  • 升级后即使迁移文件被修改,服务也能正常启动,不会因 checksum 不匹配而崩溃
  • 故障排查文档补充 Flyway checksum mismatch 处理说明

升级方法

在私有化服务器上执行:

bash scripts/update.sh

2026.05.21-private.2

变更

Android SDK

  • 版本升级至 1.0.1,新增 serverUrl 参数
  • XuqmSDK.initialize(context, appKey, serverUrl = "https://your-server.com") 可使用指定私有化服务地址完成初始化

升级方法

在私有化服务器上执行:

bash scripts/update.sh

升级脚本会自动拉取最新镜像并重启受影响容器,全程无需停机迁移。


2026.05.21-private.1

  • 新增 scripts/reset.sh 容器重置脚本,解决 nginx 502 / crash-loop / 镜像不生效等问题
  • 完善故障排查文档(docs/runbook.md
  • 修正各服务端口文档

2026.05.18-private.1

  • 初始版本