添加变量
Zeabur 中可以添加变量,并自动注入到该服务中。
添加,编辑,修改
点选该服务并到 变量 页面,里面的 添加变量 即可新增变量。
Zeabur 预设会自动注入以下变量:
-
<YOUR_SERVICE_NAME>_HOST
:该服务对内网络通信的 host 名称 -
PORT
:该服务对外的 port -
其他相关服务,例如数据库(PostgreSQL)、Redis 等,也会自动注入相关变量。
这时我们就不需要再手动添加变量到自己的服务中。
当鼠标悬停在变量上时,可以选择开始编辑或删除变量。
点击右上角的 checkbox, 可切换至列表视图。
点击编辑 icon, 可以编辑变量的值。
批量编辑
如果你想要一次性添加多个变量,可以使用批量编辑的功能。
点击上方的 编辑原始环境变量 按钮,即可进入批量编辑模式,将以编辑 .env
文件的方式来批量设置服务的环境变量。
变量引用
在 Zeabur 中,可以通过变量引用的方式来引用其他变量。
你只需要在变量设置的时候,用模板语法的方式来引用:
# 例如,你可以这样设置变量
AUTH_INFOR=${USERNAME}:${PASSWORD}
这样,USERNAME
与 PASSWORD
的值就会自动组合注入到 AUTH_INFOR
中。
特殊变量
“特殊变量”是由 Zeabur 预先定义并可直接使用的环境变量。
引用方式
- 在 Zeabur 内的环境变量输入框中:使用
${变量}
格式插入特殊变量。 - 在自己的应用程序中:与一般的环境变量引用方式相同(
process.env.VARIABLE
)。
变量优先顺序
服务间变量的展开优先顺序如下:
- 当前服务定义的环境变量将首先被获取。
- 如果未定义,则其他服务暴露(Expose)的环境变量将被获取。
- 如果未定义,则特殊变量将被获取。
变量
主机名/端口类
${ZEABUR_[端口名称]_URL}
:某个端口对应的 URL。-
例如
https://test.zeabur.app
。 -
此 URL 是您在“域名”中设置的:
-
对于从 Git 存储库部署的服务,
端口名称
总是web
。
-
${ZEABUR_[端口名称]_DOMAIN}
:某个端口对应的域名。- 例如
test.zeabur.app
。 - 此 URL 是您在“域名”中设置的。
- 对于从 Git 存储库部署的服务,
端口名称
总是web
。
- 例如
${CONTAINER_HOSTNAME}
: 当前服务在 Zeabur 项目中的主机名(hostname)。- 通常我们会创建一个具有 Expose(向项目暴露)属性的环境变量(例如
${MYSQL_HOST}
), 然后将${CONTAINER_HOSTNAME}
的值填入此环境变量。 - 但是,如果您要在 Zeabur 内引用其他服务的主机名,我们更推荐使用 Zeabur 未来推出的 DNS 功能。
- 通常我们会创建一个具有 Expose(向项目暴露)属性的环境变量(例如
${[端口名称]_PORT}
:在 Prebuilt 服务中定义的端口。- 例如,如果您设置了
database / 3306 / TCP
,那么DATABASE_PORT
将是3306
。 - 仅在当前服务内可见。
- 对于从 Git 存储库部署的服务,值是
8080
。您可以从${PORT}
中读取这个端口值。
- 例如,如果您设置了
Zeabur 信息类
这些变量不常用,但如果您需要当前 Zeabur 服务/项目的唯一标识符, 那么这些变量将非常有帮助。
${ZEABUR_SERVICE_ID}
:服务 ID${ZEABUR_PROJECT_ID}
:项目 ID${ZEABUR_ENVIRONMENT_ID}
:服务环境 ID${ZEABUR_USER_ID}
:创建此项目的用户 ID
Git 信息类
这些变量仅会在 Git 服务的编译阶段出现。
${ZEABUR_GIT_COMMIT_SHA}
:当前部署所属的 Git 提交 SHA 值。${ZEABUR_GIT_AUTHOR}
:当前部署所属的 Git 提交作者 ID。${ZEABUR_GIT_BRANCH}
:当前部署所属的 Git 分支名称。${ZEABUR_GIT_REPO_NAME}
:当前部署所属的 Git 版本库名称。${ZEABUR_GIT_REPO_OWNER}
:当前部署所属的 Git 版本库所有者 ID。${ZEABUR_GIT_COMMIT_MESSAGE}
:当前部署所属的 Git 提交消息。
工具类
${PASSWORD}
:Zeabur 为每个服务生成的随机密码。