用途:为使用 Kamal(37signals 出品的零停机部署工具)的用户提供部署指导,适用于把容器化应用部署到任意服务器的场景。
主要能力:讲解 Kamal 的核心架构(SSH 登录服务器、自动安装 Docker、构建镜像、推送镜像仓库、在目标服务器拉取运行,由 kamal-proxy 负责路由、SSL 与零停机);提供安装与初始化、首次部署与后续部署、回滚、日志查看、容器内执行、附件服务启动、代理重启、清理服务器等命令说明;覆盖 deploy.yml 配置、密钥管理(.kamal/secrets)、多服务器与角色、附件(数据库、Redis)、SSL(Let's Encrypt 或自定义证书)、健康检查、staging/production 目标、部署钩子与 Dockerfile 要求。
使用方式:先运行 kamal version 确认版本,1.x 需升级(gem install kamal),注意 1.x 用 traefik、2.x 用 proxy;本地 Docker 不可用时配置远程 builder(builder: arch: amd64, remote: ssh://root@SERVER_IP);部署 37signals 开源项目时先删除 .env.erb;确认镜像仓库凭据。常用命令:gem install kamal、kamal init、kamal setup、kamal deploy、kamal rollback、kamal app logs、kamal app exec -i bash、kamal accessory boot <name>、kamal proxy reboot、kamal remove。
限制与注意:该技能要求回答前先用 WebFetch 获取 kamal-deploy.org 最新文档,资料中的配置可能过时;Kamal 2.x 默认端口为 80;健康检查需应用在指定路径返回 200;密钥不应提交到 git;具体版本差异与最新配置以官方文档为准,资料未提供的细节暂未提供。