SuperAPI AI 工具集

deploy-server

部署与运维

查看项目

更新于 10-15 20:12

技能介绍

用途:把本地仓库的运行相关改动,可控地增量部署到已在跑的生产 IPFS Cluster 服务器。只做增量更新,不做首次 bring-up,也不做多机批量部署。

主要能力:一条 .claude/skills/deploy-server/deploy.sh 走完 diff → 备份 → 同步 → 重建(make up-cloudflare)→ 按需 reload Caddy → 验证。默认 --dry-run 只读预览,逐文件比对本地与远端 sha256,列出将覆盖/新增的文件、compose 或 Caddyfile 是否变更;人工确认后用 --apply 执行,任一步失败即停,并将被覆盖文件备份到远端 .backup/<时间戳>/。

使用方式:先在技能目录填 .env(cp .env.example .env)。主要配置键包括 DEPLOY_SSH_HOST、DEPLOY_SSH_USER、DEPLOY_SSH_PORT、DEPLOY_REMOTE_DIR、DEPLOY_SSH_KEY、DEPLOY_SSH_PASSWORD、IPFS_BASE_URL。连接方式自动识别:显式私钥优先,其次免密探测,再退到 sshpass 密码(经 $SSHPASS 传入),都没有则报错退出。常用命令:./deploy.sh --dry-run、./deploy.sh --apply。

同步范围采用白名单,仅涉及 docker-compose*.yml、Makefile、caddy/、scripts/、skills/publish-artifact/、e2e/ 等运行相关文件;永不触碰远端 .env、runtime/、.backup/、docs/、plans/、.git。Caddyfile 变更时,先在容器内对新配置做 caddy validate,通过才落盘并 caddy reload。验证包括容器状态、ipfs-cluster-ctl peers ls,以及配置 IPFS_BASE_URL 后的域名只读渲染检查。

限制:不提供 --rollback 子命令,回滚需按打印的备份路径手动还原并重跑 make up-cloudflare;不做数据备份,不碰远端运行数据;未配置 IPFS_BASE_URL、无已 pin CID 或无 curl 时,域名验证跳过且不算失败。