CLI 概览
一个单一二进制文件,从终端部署、管理和监控您的应用。
什么是 sh0 CLI
sh0 CLI 是一个独立二进制文件,通过 REST API 与您的 sh0 服务器通信。它提供 30+ 条命令,涵盖控制台中可以做的一切——部署、日志、伸缩、环境变量、定时任务、模板等。
它可以从任何机器运行:笔记本电脑、CI 运行器或远程服务器。使用 sh0 login 认证一次即可就绪。
安装
一条命令,零依赖。支持 Linux 和 macOS 的 x64 和 ARM64。
curl -fsSL https://get.sh0.dev | bash脚本检测您的操作系统和架构,从 GitHub Releases 下载正确的二进制文件,并放置在 /usr/local/bin/sh0。详见 安装 了解手动下载和配置选项。
四个核心工作流
1. Push 部署
直接从本地目录部署。CLI 检测技术栈,上传文件,构建容器并返回在线 URL——全部一条命令完成。
sh0 init # Optional: detect stack, create .sh0ignore
sh0 push # Deploy to live URL首次推送创建新应用。后续推送更新它。链接存储在 .sh0/link.json 中,以便 CLI 知道要更新哪个应用。使用 sh0 link <app> 将目录连接到现有应用。详见 Push 部署 完整指南。
2. 监视模式
对于开发工作流,sh0 watch 监视项目文件变更并在可配置的防抖延迟(默认 2 秒)后自动重新推送。
sh0 watch # Watch current directory
sh0 watch --debounce 3000 # 3s debounce遵循 .sh0ignore 模式。按 Ctrl+C 停止。
3. Git 部署管理
对于连接到 Git 仓库的应用,CLI 允许您触发部署、管理环境变量、配置域名和控制应用生命周期:
sh0 deploy myapi --wait
sh0 env myapi set DATABASE_URL="postgres://..."
sh0 domains myapi add api.example.com
sh0 restart myapi4. 监控与运维
流式传输日志、检查状态、SSH 进入容器、管理定时任务和控制应用生命周期——全部在终端中完成:
sh0 logs myapi --follow --tail 50
sh0 status
sh0 ssh myapi -- ls /app
sh0 restart myapi
sh0 open myapi # Open in browser
sh0 cron ls开发者便利功能
CLI 包含简化日常工作流的命令:
sh0 init——检测技术栈并生成包含适当模式的.sh0ignore文件sh0 link <app>——将本地目录连接到现有应用以便后续推送sh0 open [app]——在默认浏览器中打开应用的 URLsh0 config show|set|get——查看和管理 CLI 配置(服务器 URL、令牌)sh0 restart|stop|start|delete——从终端完全控制应用生命周期sh0 domains <app> list|add|remove——管理任何应用的自定义域名
CLI 与控制台
CLI 和控制台是互补的。两者都使用相同的 REST API 并具有完整的功能对等。
| 场景 | 最佳选择 |
|---|---|
| 从本地项目快速部署 | sh0 push |
| CI/CD 流水线集成 | CLI 配合 --json 输出 |
| 可视化栈和资源概览 | 控制台 |
| 一键模板部署 | 控制台 |
| 调试时的日志流 | sh0 logs --follow |
| 批量修改环境变量 | CLI 脚本 |
Tip
每个 CLI 命令支持
--json 获取机器可读输出。管道到 jq,输入脚本,或集成任何自动化工具。