一条命令完成安装
安装脚本和 npm 包会从最新版本中下载适合你系统的构建,并在安装前核对校验和。
macOS、Linux 和 WSL
curl -fsSL https://cli.squarecloud.app/install | bash安装到 /usr/local/bin,因此可能会要求输入密码。
Windows
npm i -g @squarecloud/cli需要带 npm 的 Node.js。同一条命令在 macOS 和 Linux 上同样可用。
- 使用版本发布的 SHA-256 校验和进行核对
- 提供 x86 和 ARM 构建,包括 Apple 芯片
- 要更新,再次运行同一条命令即可
无需复制密钥即可登录
CLI 显示一个代码,你在浏览器中批准后,终端就会获得专属的密钥,与 VS Code 扩展的连接方式相同。
- 1
终端显示代码
运行登录命令后,浏览器会打开批准页面,终端则显示一个 8 位代码和倒计时。
- 2
在浏览器中批准
在 Square Cloud 页面输入代码并批准。切勿输入别人发给你的代码。
- 3
CLI 已登录
终端会确认你的账户,并保存一个专为它创建的密钥,只包含其命令需要的权限。
- 每个密钥有效期 90 天,
auth whoami可查看到期时间 - 替换本机上的其他账户前会先询问
- 通过 SSH 时,
--no-browser会输出链接,可在任意设备上打开 - 已有密钥?使用
--token或--with-token
从任意文件夹部署
将当前文件夹作为新应用上传,把更改发送到已有的应用,或关联 GitHub 仓库,让每次推送都自动部署。
上传应用
CLI 会按你的忽略规则压缩当前文件夹,创建应用,并输出其在控制台中的页面链接。
uploadupload --file- 也可以发送现成的 zip
- 如果项目中有 squarecloud.app,会把新 ID 写入其中
提交更改
将文件夹或 zip 发送到已有的应用。应用的 ID、域名和设置保持不变。
commitcommit -rcommit --path- 按需在上传后重启应用
- 可将文件放入应用中的某个文件夹
每次推送自动部署
通过 Square Cloud GitHub App 关联仓库和分支,或使用 GitHub 令牌创建 Webhook,全程无需离开终端。
app deploy github linkapp deploy webhookapp deploy list- 列出最近的部署及其提交、状态和分支
- 也可以在 GitHub Actions 中运行 CLI
CLI 与 VS Code 共用一个忽略文件
upload、commit 和 zip 会排除项目根目录下 squarecloud.ignore 中列出的内容。VS Code 扩展读取同一个文件,规则也完全相同。
与 .gitignore 相同的语法
#表示注释,!用于恢复某个路径,dir/只匹配文件夹,/build只匹配根目录,还支持*、?、[abc]和**。以最后一条匹配的行为准,且不区分大小写。合理的默认规则
node_modules、.git、.github、.vscode以及 npm、pnpm 和 Yarn 的锁文件,在你的规则生效前就已排除。像!yarn.lock这样的一行可以把它重新加回来。发送前先检查
squarecloud zip会在你的文件夹中生成同样的压缩包,打开它就能准确看到将要上传的内容。
变量原样送达
你的应用通过 shell 加载环境变量。从 3.1.1 版本起,CLI 会给包含空格或 $、&、; 等字符的值加上引号再发送,避免 shell 截断或展开它们。
在终端中设置
可一次传入任意多个 KEY=VALUE。CLI 会从 squarecloud.app 读取应用,或让你从列表中选择。
app env setapp env list- 使用单引号,值中含单引号时改用双引号
- 已加引号的值按原样发送
加载 .env 文件
从文件读取 KEY=VALUE 行,并跳过注释和空行。以 export 开头的行和带引号的值同样支持。
--from-file .env- 设置和替换变量时均可使用
- 列表会以 KEY=VALUE 的形式显示
安全的批量更改
一次替换所有变量,或全部删除。两种操作都会在更改前确认,且替换时至少需要一个新变量。
app env replaceapp env remove --all-y- 在脚本中可用一个标志代为确认
- 回答否,则不做任何更改
为脚本和 CI 而生
程序可读的输出、名副其实的退出码,以及无需浏览器的密钥。
按需输出 JSON
输出数据的命令可以用 JSON 响应,stdout 中只有结果。其他命令会直接报错拒绝该标志,而不是输出会让解析器出错的文本。
--json可靠的退出码
任何失败都以 1 退出。在没有终端、也没有用于应答的标志而无法确认时,命令会失败且不做任何更改。
-y干净的 stdout
错误、提问和提示都输出到 stderr,请求 JSON 时进度也会输出到 stderr,因此管道中只有结果。
stdoutstderr流水线专用密钥
将账户中的密钥设置为环境变量,所有命令都会使用它,无需登录。当 CI 为 true 时,不会启动浏览器登录。
SQUARECLOUD_API_KEYCI=true可放心分享的追踪
设置一个变量,就会把每次 API 调用的方法、路径、状态和耗时输出到 stderr,绝不包含请求头、查询字符串或正文。
SQUARECLOUD_DEBUG=1GitHub Actions
Square Cloud Action 会在 runner 上安装 CLI,用版本发布的校验和进行核对,并使用你的密钥运行任意命令。
squarecloudofc/github-action@v2
平台的其他功能,同样可用
日志、指标、文件、快照、域名、数据库和工作区,一条命令即可触达。
日志与实时流
输出最新的日志行,或实时跟踪输出及每次状态变化。应用写入 stderr 的内容仍保留在 stderr。
app logsapp realtime状态与指标
查看单个应用的 CPU、内存、磁盘和运行时长,或为每个应用各显示一行,还能查看过去 24 小时的指标。
app status --allapp metrics远程文件
列出、读取、写入、移动和删除应用的文件。从文件写入可保持二进制内容完好,读取到文件时会在覆盖前先询问。
app file readapp file write快照
为应用和数据库创建并下载快照、列出其版本并恢复其中之一。
app snapshot createdb snapshot restore域名与流量
设置自定义域名,获取需要创建的 DNS 记录,查看边缘的分析、错误和性能数据,并清除缓存。
app network domainapp network analytics数据库
创建 MongoDB、MySQL、PostgreSQL 和 Redis 数据库,启动或停止它们,下载 TLS 证书并轮换密码。
db createdb credentials reset
谨慎、开放,并且说你的语言
支持八种语言
消息、帮助和表格每次运行时都会跟随系统的显示语言。使用 LC_ALL 可以为单条命令指定其他语言。
无需记住 ID
大多数命令会从 squarecloud.app 读取应用,或列出你的应用供你选择。
删除前先确认
删除、替换所有变量、恢复快照或清除缓存前都会先询问,脚本可以用一个标志来确认。
开源
代码已在 GitHub 上公开,每个版本发布的构建都附有 SHA-256 校验和。
项目每个阶段都有合适的套餐
从小规模开始,按需扩展,无绑定合约。
4.9 分(满分 5 分)· Google + Trustpilot 上的 402 条评价Trustpilot