特殊變數
「特殊變數」指 Zeabur 幫你預先定義好、可以直接使用的環境變數。 Git 和 Prebuilt 服務均可使用。
引用方式
- 在 Zeabur 內的環境變數輸入框:使用
${變數}
格式插入特殊變數。 - 在自己的應用程式:如同一般的環境變數引用方式 (
process.env.VARIABLE
)。
變數優先順序
服務間變數的展開優先順序如下:
- 目前服務定義的環境變數會是第一個取的值。
- 假如沒有定義,其他服務暴露 (Expose) 的環境變數會是第二取的值。
- 假如沒有定義,特殊變數會是第三取的值。
變數清單
Hostname / Port 類
${ZEABUR_[連線埠名稱]_URL}
:某個 Port 對應的 URL。-
如
https://test.zeabur.app
。 -
這個 URL 是你在「網域」裡面設定的:
-
如果是從 Git 儲存庫部署的服務,
連線埠名稱
會是web
。
-
${ZEABUR_[連線埠名稱]_DOMAIN}
:某個 Port 對應的網域。- 如
test.zeabur.app
。 - 這個 URL 是你在「網域」裡面設定的。
- 如果是從 Git 儲存庫部署的服務,
連線埠名稱
會是web
。
- 如
${CONTAINER_HOSTNAME}
: 目前服務在 Zeabur 專案內的主機名稱 (hostname)。- 通常我們會建立一個有 Expose(向專案曝露)屬性的環境變數(如
${MYSQL_HOST}
), 然後將${CONTAINER_HOSTNAME}
的值填入這個環境變數。 - 不過假如你是要在 Zeabur 內引用其他服務的 Hostname,我們會更推薦使用 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 為每個服務產生的隨機密碼。