SuperAPI AI 工具集

rollback

设计与创作

查看项目

更新于 10-16 05:06

技能介绍

用途:在 Kamal 部署出现坏版本时,快速、安全地回滚到之前已知良好的镜像,并帮助识别与检查当前部署的版本。回滚很快,因为目标镜像已在服务器上,Kamal 只需停止当前容器并启动运行旧镜像的新容器,无需从镜像仓库下载。

主要能力:回滚到指定版本(以 Git 版本哈希作为镜像标签);列出可回滚的版本;检查服务器上正在运行的应用版本;区分应用版本与 Kamal CLI 版本。

使用方式:先读 config/deploy.yml 确认服务、仓库与角色。列出可回滚版本:kamal app containers -q(会显示当前与旧容器,每个带版本哈希)。确定目标版本后执行:kamal rollback e5d9d7c2b898289dfbc5f7f1334140d984eedae4。验证:kamal app version 查看服务器上运行的应用版本,kamal app containers -q 重新列出容器确认。检查版本的三条命令:kamal app version(服务器上运行的应用版本)、kamal app containers -q(可回滚的版本)、kamal version(Kamal 自身版本,如 2.12.0)。

适用场景:发现坏部署需快速恢复;确认是否应回滚而非用 kamal deploy 前向修复;排查版本问题。

限制与注意:默认情况下,运行 kamal deploy 后旧容器会在 3 天后被清理,只能回滚到容器/镜像仍在服务器上的版本;若目标已被清理,需重新部署该版本。注意查看容器 STATUS,Exited (1) 表示此前已失败,应选择真正健康的版本。不要混淆 kamal app version 与 kamal version。相关技能:deploy(构建发布及重新部署被清理的版本)、app(检查、停止、启动和管理运行中的容器)。