把 OpenClaw Gateway 常驻在 Linux 云主机上之后,「发版」会从个人习惯变成团队治理:要么把镜像拉取、校验与 systemd reload 写进 GitLab CI/CD,要么继续 SSH 手工执行。两条路都能跑通,但密钥面、审计与误操作尾风险不同。下面用决策矩阵与管道 FAQ 对照 2026 年可执行清单。
适用边界:何时上 GitLab,何时 SSH 更稳
若已有受保护分支、MR 评审与部署令牌,把 compose 或安装脚本收进仓库、用 Pipeline 仅在 tag 或 main 合并后触发,通常比「谁都能 SSH」更易过内审,也便于交接与审计抽查。若仅一人维护、发版极低频且无 Runner 可达生产路径,短期保留 SSH 也可——关键是步骤脚本化并备份会话目录与 systemd 单元,而非依赖肌肉记忆。
决策矩阵:GitLab CI/CD 自动发布 vs 纯 SSH 手工更新
| 维度 | GitLab CI/CD | 纯 SSH 手工 |
|---|---|---|
| 审计与复盘 | Job 日志、制品与 MR 天然可关联 | 依赖个人笔记,易断层 |
| 密钥与权限 | CI 变量、受控 Token,可轮换 | 私钥常驻跳板机,面大 |
| 发版速度 | 受 Runner 队列与网络影响 | 直连通常更快,但不可复制 |
| 回滚 | 可用上一 tag 重跑 Job | 依赖本地是否记得镜像 digest |
compose.yaml),避免 CI 描述与手工笔记长期分叉;变更端口时同步改防火墙与通道控制台回调 URL。
管道避坑 FAQ
Q:Deploy Job 要不要用共享 Runner 直连生产? 尽量专用 Runner 或固定出口并在安全组白名单其网段;共享 Runner 适合构建测试,直连生产易把「能跑 pipeline」与「能碰生产」绑成过大权限链。
Q:合并后 pull 成功但网关未起? 常见是 systemd 用户单元与 CI 所用登录用户不一致:非交互 SSH 未加载正确 XDG_RUNTIME_DIR,或工作目录不在 deploy 用户下。统一服务用户并在 Job 里显式 cd 到安装根再 reload。
Q:Environment 的 stop job 会误伤数据吗? 若 stop 里写了 docker compose down -v,可能删掉命名卷;生产与实验环境应拆分 compose 文件。回调与 TLS 分层验收可对照 OpenClaw Webhook 与 Linux VPS 反代矩阵 FAQ。
# .gitlab-ci.yml 片段:仅在 tag 触发,SSH 到云主机执行 compose deploy_gateway: stage: deploy rules: - if: '$CI_COMMIT_TAG' script: - ssh deploy@${DEPLOY_HOST} 'cd /srv/openclaw && git pull && docker compose pull && docker compose up -d'
若你还在评估「网关放轻量 VPS、重活放别处」的隔离,可参考 轻量 VPS 隔离与密钥决策矩阵 FAQ 的分层思路。
小结
GitLab CI/CD 强在可审计、可重复与权限收敛;纯 SSH 强在路径短、排障直观。对长驻网关,建议「tag 触发 + 专用 Runner + 显式 compose」起步,另留经双人复核的紧急 SSH 回滚通道。把矩阵贴在 Wiki,每次改架构先问:三个月后新人能否照文档独立完成发版。
在云端 Mac mini 上,执行面与网关可以各安其位
Linux 云主机适合承载 OpenClaw 网关、反代与 Webhook;若工作流含 Xcode、iOS 签名或 Apple 生态自动化,执行面仍建议 macOS。云端 Mac mini M4 原生 Unix 工具链与统一内存带宽,Homebrew、SSH 开箱即用;约 4W 待机与静音机身,可与 Linux 网关长期并行,把对外入口与原生构建拆开。
macOS 上 Gatekeeper、SIP、FileVault 构成多层防护,恶意软件与误执行风险低于同等价位通用 PC;软硬件一体化也带来更稳的长期运行表现。
如果你正在把「Linux 网关 + Apple 原生流水线」分层落地,VPSSpark 云端 Mac mini M4 是补齐执行面的高性价比选项——立即了解套餐方案,让网关与构建各居其位。