fix(deploy): 系统更新 - 非正式镜像标签可在线更新到正式版

sha-* 等非正式标签不再被字典序判成比 vX.Y.Z 更新;健康检查对非正式目标版本只确认服务就绪;管理后台更新页并排展示当前运行与最新发布版本并标注非正式版本
This commit is contained in:
ddCat committed 2026-09-18 08:50:18 +08:00
1 parent 8d99e0adbb
commit 7d3f4ffc50
8 files changed
+99 -11

No files matched your search

+7 -1
View File
@@ -156,7 +156,11 @@ func (m *Manager) Check(ctx context.Context) (Status, error) {
}
if CompareVersions(current, release.Version) < 0 {
m.state.Operation.Phase = PhaseReady
m.appendLogLocked(PhaseReady, fmt.Sprintf("发现新版本 %s", release.Version))
if IsReleaseVersion(current) {
m.appendLogLocked(PhaseReady, fmt.Sprintf("发现新版本 %s", release.Version))
} else {
m.appendLogLocked(PhaseReady, fmt.Sprintf("当前部署为 %s,可更新到正式版 %s", current, release.Version))
}
} else {
m.state.Operation.Phase = PhaseNoUpdate
m.appendLogLocked(PhaseNoUpdate, "当前已是最新版本")
@@ -430,6 +434,8 @@ func (m *Manager) checks(current string, currentErr error) []Check {
if currentErr != nil {
items[1].Status = "failed"
items[1].Detail = currentErr.Error()
} else if current != "" && !IsReleaseVersion(current) {
items[1].Detail = current + " · 非正式镜像标签,可切换到正式 Release"
}
if m.state.LastBackup != nil {
items[2].Status = "passed"