fix(updater): 保持官方 latest 并每分钟检查自更新 #80

Merged
wangbo merged 1 commits from codex/updater-latest-minute-20261025 into main 2026-10-25 14:22:04 +08:00
Owner

正式部署中的 updater 曾被 .env、历史 Compose 覆盖或旧产品记录固定在旧镜像,发布新的官方 latest 后不能自动获取;默认 24 小时轮询进一步延迟更新。

受控部署经标准迁移始终解析为官方 updater :latest,默认每 60 秒检查。保留历史覆盖及业务镜像,仅将 Watchtower 目标限定为 updater;缺失/旧默认 86400 秒改为 60 秒,其他显式间隔保留。产品选版从当前独立维护基线解析 updater,避免旧产品清单重新固定更新器。默认完整更新在委派业务更新前应用迁移;仅维护入口支持保留当前 updater 代码、解除旧固定引用,由真实 registry 轮询完成升级,不发起业务版本更新。

验证:Bash/PowerShell 迁移及真实 Compose 合并(28.73 秒)、19 组双端版本解析、10 组受控入口(13.47 秒)、8 组旧入口(43.02 秒)、6 组 managed-compose(1.34 秒)、配置迁移和完整公开入口 dry-run 通过。真实 Docker/Watchtower 的每分钟轮询、持锁跳过、释放后下一轮自动替换、状态保留通过(160.91 秒,释放后 93.46 秒,包含退出等待)。

主站与 demo 均通过 Git 拉取合并提交 ec9f83ef7b 后执行标准仅维护入口。Watchtower 在 2026-10-25 06:23:40/41 UTC 的首轮轮询自动发现官方新镜像,06:24:14/15 完成替换:主站 1.4.0→1.4.1,demo 1.2.0→1.4.1,均保持 :latest,正式摘要 sha256:286439c864307f8b781b96dce18c95fc6d86e6287d56b7f54a7a91b5533ebaf7,健康检查通过。每站 15 个业务容器、原任务记录及已有状态未改变,部署锁已释放。两站首页及业务健康入口 HTTP 200。60 秒是检查间隔,下载、退出和恢复另计。

修改未改变业务镜像、更新偏好或不可变发布清单。旧用户需先同步并执行一次新版完整更新,不能仅凭仓库发布宣称所有客户已生效。六个公开部署文件匿名回读一致;临时测试容器及本地/远端任务分支已清理。Gitea CI 状态仍为 pending,未计作通过;main 未启用必需状态检查。

正式部署中的 updater 曾被 `.env`、历史 Compose 覆盖或旧产品记录固定在旧镜像,发布新的官方 `latest` 后不能自动获取;默认 24 小时轮询进一步延迟更新。 受控部署经标准迁移始终解析为官方 updater `:latest`,默认每 60 秒检查。保留历史覆盖及业务镜像,仅将 Watchtower 目标限定为 updater;缺失/旧默认 86400 秒改为 60 秒,其他显式间隔保留。产品选版从当前独立维护基线解析 updater,避免旧产品清单重新固定更新器。默认完整更新在委派业务更新前应用迁移;仅维护入口支持保留当前 updater 代码、解除旧固定引用,由真实 registry 轮询完成升级,不发起业务版本更新。 验证:Bash/PowerShell 迁移及真实 Compose 合并(28.73 秒)、19 组双端版本解析、10 组受控入口(13.47 秒)、8 组旧入口(43.02 秒)、6 组 managed-compose(1.34 秒)、配置迁移和完整公开入口 dry-run 通过。真实 Docker/Watchtower 的每分钟轮询、持锁跳过、释放后下一轮自动替换、状态保留通过(160.91 秒,释放后 93.46 秒,包含退出等待)。 主站与 demo 均通过 Git 拉取合并提交 ec9f83ef7be19879bc14003cdc7cebabc05014c2 后执行标准仅维护入口。Watchtower 在 2026-10-25 06:23:40/41 UTC 的首轮轮询自动发现官方新镜像,06:24:14/15 完成替换:主站 1.4.0→1.4.1,demo 1.2.0→1.4.1,均保持 `:latest`,正式摘要 sha256:286439c864307f8b781b96dce18c95fc6d86e6287d56b7f54a7a91b5533ebaf7,健康检查通过。每站 15 个业务容器、原任务记录及已有状态未改变,部署锁已释放。两站首页及业务健康入口 HTTP 200。60 秒是检查间隔,下载、退出和恢复另计。 修改未改变业务镜像、更新偏好或不可变发布清单。旧用户需先同步并执行一次新版完整更新,不能仅凭仓库发布宣称所有客户已生效。六个公开部署文件匿名回读一致;临时测试容器及本地/远端任务分支已清理。Gitea CI 状态仍为 pending,未计作通过;main 未启用必需状态检查。
wangbo added 1 commit 2026-10-25 14:20:48 +08:00
fix(updater): 保持官方 latest 并每分钟检查自更新
Test start.ps1 (Windows) / test-windows (push) Canceled after 0s
Test deployment public URL (Linux) / test-linux (push) Canceled after 0s
Test deployment public URL (Linux) / test-linux (pull_request) Canceled after 0s
Test start.ps1 (Windows) / test-windows (pull_request) Canceled after 0s
1896588028
wangbo merged commit ec9f83ef7b into main 2026-10-25 14:22:04 +08:00
wangbo deleted branch codex/updater-latest-minute-20261025 2026-10-25 14:22:04 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangbo/easyai#80