用途:指导用 Kamal 2 部署 Rails 应用,覆盖配置、代理、密钥、附件服务与运维命令。
主要能力:编写 config/deploy.yml,配置 service、image、servers(web/job 多角色)、registry、env(clear/secret);用 kamal-proxy 处理 SSL、路由与零停机部署,支持 ssl、host/hosts、app_port、healthcheck、response_timeout;配置本地 registry 与 accessories(Postgres、Redis、Litestream 等);用命名卷持久化 SQLite/ActiveStorage 数据;通过 .kamal/secrets 管理密钥,支持 1Password CLI 与环境变量;多环境用 deploy.staging.yml 与 secrets.staging 覆盖;builder 支持 arch、multiarch、remote、args;支持 pre-deploy/post-deploy 钩子。
使用方式:服务器需 Docker、SSH 访问并开放 22/80/443 端口,可用 Ansible 或 cloud-init 预置。首次执行 kamal setup,之后 kamal deploy;指定版本 kamal deploy --version=abc123,指定环境 kamal deploy -d staging,不构建重部署用 kamal redeploy。回滚用 kamal app containers 查看版本后 kamal rollback <version>。调试用 kamal app exec --interactive bash、kamal app logs -f、kamal app exec "bin/rails db:migrate"。附件服务用 kamal accessory boot all、reboot、exec、logs。
适用场景:Rails 应用生产部署、Web 与后台任务分离、SQLite 加 Litestream 备份、多环境发布。
限制:资料未提供具体收费、价格与平台支持范围;示例中的 IP、域名、密钥名需按实际替换;部分配置细节需参考所附 references 文件。