2.4 KiB
2.4 KiB
COS 安装包直链与自动更新
管理端上传安装包完成后,下载地址显示 COS HTTPS 签名直链。新上传安装包默认开启「自动」安装策略,点击「发布版本」后生效。已上传的包无需重传;刷新发布页面会为已有 COS 安装包显示新的直链。
客户端启动检查更新时,服务端返回新签发的 COS 下载地址,客户端直接下载、检查大小和 SHA256,再按发布策略调用现有独立更新器安装。发布版本必须高于客户端当前版本;相同版本、暂停分发或不匹配的渠道不会提供更新。用户明确选择「提示」时保留提示升级行为。
COS 直链有效期为 15 分钟。服务端保存安装包引用,不把过期签名作为长期下载地址;每次获取当前发布或检查更新都会按需签发新地址。浏览器在直链过期后仍可使用安装包 ID 发布,无需重新上传。旧页面未提供 ID 时,根据哈希、COS 主机和对象路径识别。旧版后台跳转路径仍保留兼容。
验证与部署
- 本地 37 项更新流程回归通过,含上传、分块、复用、签名更新、旧记录、直接下载校验及登录前自动更新。
- 生产候选镜像 17 项发布接口回归通过;管理端生产构建成功。
- 已于 2026-09-23 15:16(Asia/Singapore)部署至 192.168.110.111。
- 发布编号:cos-direct-20260923-151251。
- 新镜像:zyt/wecom-admin:cos-direct-20260923-151251。
- 已验证线上更新接口直接返回 COS HTTPS URL,并通过 Range 请求读取实际安装包文件头(HTTP 206)。签名查询参数未保存到报告。
- 三个管理服务运行正常;对外页面资源哈希一致,API 与网关健康检查通过。
- 当前线上版本策略仍为 1.4.0、提示升级;本次没有代替管理员发布新客户端版本或改动已有安装策略。
回退
发布文件与旧源码:/opt/im-admin/releases/cos-direct-20260923-151251。 数据库与密钥备份:/opt/im-admin/deploy/im-admin/data/backups/cos-direct-20260923-151251/。 旧镜像:zyt/wecom-admin:before-cos-direct-20260923-151251。
需要回退时执行 python3 /opt/im-admin/releases/cos-direct-20260923-151251/rollback.py。脚本检查当前镜像和源码仍是本次发布后,恢复旧镜像和源码,保留当前数据库及新增业务数据。脚本已通过语法检查,未实际执行回退。