工作方式
变量属于应用本身,而不是你上传的文件。修改一个变量,下次启动时即会使用新值。
- 1
添加或粘贴
输入键和值,在键输入框中粘贴多行 KEY=值,或导入一个 .env 文件。
- 2
保存
一次保存会提交整个列表。会被 shell 截断或展开的值会自动加上引号。
- 3
重启
保存后,控制台会立即提示重启。应用将使用新值启动,无需重新上传。
密钥在屏幕上保持隐藏
应用设置中的编辑器会隐藏每个值,直到你主动查看,并把相关的键放在一起。
隐藏的值
值以圆点显示。点击眼睛图标查看,无需显示即可复制,或点击值进行编辑。
- 每次编辑单独确认或取消
- 按住 Shift 可一键删除一行
按前缀分组
共享前缀的键(例如 DB_HOST 和 DB_USER)会排在一起,并按字母顺序排列。
- 列表超过 15 个时可按键搜索
- 剩余名额不多时会显示提醒
Square Cloud 默认变量
每个应用都自带 HOST、PORT 和 SQUARECLOUD_APP_ID,以只读方式显示,并附有用途说明。
- HOST 0.0.0.0 与 PORT 80 用于 HTTP
- 应用自身的 ID,供你的代码读取
- 每个应用最多 256 个变量
- 键最多 1024 个字符,值最多 4096 个
- 在工作区中,只有管理员可以打开编辑器
- 所有套餐均包含
带上你现有的 .env
导入 .env 文件,并在任何更改发生前进行检查:新的键、将被替换的键,以及无法导入的行,每一项都会标明行号和原因。
粘贴整行
在键输入框中粘贴多行 KEY=值,每一行都会变成一条变量。已有的键会采用粘贴的值。
- 会正确处理注释和 export 前缀
- 粘贴到已填写的行时,该变量会保留
部署时即可设置
部署表单同样支持填写变量;如果项目中有 .env.example,它会列出其中的键供你填写。
- 也会读取 .env.sample、.env.template 和 .env.dist
- HOST 和 PORT 交由 Square Cloud 设置
导出或复制
将所有变量下载为 KEY=VALUE 文本文件,或一次全部复制,方便迁移到另一个应用。
- 导出的值带有引号,可直接加载
- 没有键的行不会导出
值会按你输入的样子送达代码
你的应用通过 shell 加载变量,一个空格、$ 或 ; 都可能截断或改变某个值。编辑器会替你给这些值加上引号。
需要时自动加引号
包含空格或
$、&、;、|、)等字符的值,在你确认、导入或保存时会放入单引号中。拒绝有风险的引号
用双引号包裹含
$的值会让 shell 将其展开,因此编辑器会提示你删除双引号或改用单引号。键始终有效
键中的空格会变成下划线,同一个键不能重复。导入时,键必须以字母或
_开头。
通过终端和 API 操作
同样的变量也可以通过 CLI、GitHub Action、VS Code 扩展 和 REST API 访问。
squarecloud app env set DB_HOST=10.0.0.4 "GREETING=hi there"squarecloud app env set --from-file .envsquarecloud app env list从 3.1.1 版本起,CLI 会自动给含空格或符号的值加上引号。查看 CLI 的全部功能。
curl -X POST "https://api.squarecloud.app/v2/apps/$APP_ID/envs" \ -H "Authorization: $SQUARECLOUD_API_KEY" \ -H "Content-Type: application/json" \ -d '{"envs": {"NODE_ENV": "production", "LOG_LEVEL": "info"}}'curl -X POST "https://api.squarecloud.app/v2/apps/$APP_ID/restart" \ -H "Authorization: $SQUARECLOUD_API_KEY"按 shell 应读取的形式发送值:含空格或符号时放入单引号中。重启后生效。
- GET
/v2/apps/{appId}/envs列出应用的环境变量。
- POST
/v2/apps/{appId}/envs添加变量或修改已有变量,其余变量保持不变。
- PUT
/v2/apps/{appId}/envs用你发送的变量替换全部变量。
- DELETE
/v2/apps/{appId}/envs删除你指定的变量。
- API 密钥可以限定为
envs:read或envs:write,并只作用于单个应用。
关于环境变量的常见问题
Square Cloud 上的环境变量是什么?
修改变量后需要重新部署吗?
Square Cloud 提供哪些变量?
如何保存包含空格、引号或 $ 的值?
可以在项目中保留 .env 文件吗?
谁能看到这些值?
一个应用最多可以有多少个变量?
静态站点有环境变量吗?
项目每个阶段都有合适的套餐
从小规模开始,按需扩展,无绑定合约。
4.9 分(满分 5 分)· Google + Trustpilot 上的 402 条评价Trustpilot