部署特殊變數

特殊變數

「特殊變數」指 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 功能。
  • ${[連線埠名稱]_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 為每個服務產生的隨機密碼。