設定建構環境變數 (來源部署)

建構環境變數是鍵/值組合,可讓您從原始碼部署時,將設定資訊傳遞至建構套件。舉例來說,您可能想在建構時自訂編譯器選項、指定建構時間憑證,以及設定參數等。

本頁面說明如何設定建構環境變數 (可在建構時使用),適用於從來源部署 Cloud Run 服務函式的平台開發人員。建構環境變數 gcloud CLI 標記支援來源部署作業 (--source),但不支援容器映像檔部署作業 (--image)。

您可以使用環境變數設定服務或函式,但不建議使用環境變數儲存資料庫憑證或 API 金鑰等密鑰。請將機密值儲存在原始碼和環境變數以外的位置。建議使用 Secret Manager 儲存密鑰。如要設定可存取 Secret Manager 中所儲存密鑰的服務,請參閱「設定密鑰」。

事前準備

  • Enable the Cloud Run Admin API and Cloud Build APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

    啟用 Cloud Run Admin API 後,系統會自動建立 Compute Engine 預設服務帳戶。

必要的角色

您或管理員必須將下列 IAM 角色授予部署者帳戶和 Cloud Build 服務帳戶。

按一下即可查看部署者帳戶的必要角色

如要取得從來源建構及部署所需的權限,請要求管理員授予下列 IAM 角色:

按一下即可查看 Cloud Build 服務帳戶的必要角色

除非您覆寫這項行為,否則 Cloud Build 會自動使用 Compute Engine 預設服務帳戶做為預設的 Cloud Build 服務帳戶,建構您的原始碼和 Cloud Run 資源。如要讓 Cloud Build 建構來源,請要求管理員將Cloud Run 建構工具 (roles/run.builder) 授予專案中的 Compute Engine 預設服務帳戶:

  gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
      --role=roles/run.builder
  

請將 PROJECT_NUMBER 替換為專案編號,並將 PROJECT_ID 替換為專案 ID。 Google CloudGoogle Cloud如需如何找出專案 ID 和專案編號的詳細操作說明,請參閱「建立及管理專案」。

將 Cloud Run 建構者角色授予 Compute Engine 預設服務帳戶後,需要幾分鐘才能傳播

如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱 Cloud Run IAM 角色Cloud Run IAM 權限。如果 Cloud Run 服務與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。 如要進一步瞭解如何授予角色,請參閱部署權限管理存取權

建構環境變數的數量上限和限制

您最多可以定義 100 個建構環境變數,金鑰和值的總限制為 64 KiB。

設定建構環境變數

您可以設定建構環境變數,建立新變數或完全取代現有的建構變數。

gcloud

如要從原始碼部署服務時設定建構環境變數,請使用 --set-build-env-vars 旗標:

gcloud run deploy SERVICE \
    --source . \
    --set-build-env-vars KEY1=VALUE1,KEY2=VALUE2

取代:

  • SERVICE 改為 Cloud Run 服務名稱。
  • KEY1=VALUE1,KEY2=VALUE2,並以半形逗號分隔變數名稱和值清單,這些變數和值會與函式一併部署,讓您將設定資訊傳遞至建構包。

如要部署函式,請新增 --function 旗標,並提供原始碼中的函式進入點。

更新建構環境變數

您可以更新現有服務的建構環境變數。這是一種非破壞性方法,可變更或新增建構環境變數,但不會刪除建構環境變數。

gcloud

如要更新現有服務的建構環境變數,請使用 --update-build-env-vars 標記:

gcloud run deploy SERVICE \
    --source . \
    --update-build-env-vars KEY1=VALUE1,KEY2=VALUE2

如要部署函式,請新增 --function 旗標,並提供原始碼中的函式進入點。

刪除建構環境變數

您可以刪除現有服務的建構環境變數。

gcloud

如要移除現有服務的建構環境變數,請使用 --remove-build-env-vars 標記:

gcloud run deploy SERVICE \
    --source . \
    --remove-build-env-vars KEY1=VALUE1,KEY2=VALUE2

或者,您也可以使用現有服務的 --clear-build-env-vars 清除建構環境變數:

gcloud run deploy SERVICE \
    --source . \
    --clear-build-env-vars KEY1=VALUE1,KEY2=VALUE2

如要部署函式,請新增 --function 旗標,並提供原始碼中的函式進入點。

使用建構環境變數檔案

您可以使用現有函式的建構環境變數檔案。

gcloud

如要從檔案設定建構環境變數,請使用 --build-env-vars-file 旗標:

gcloud run deploy SERVICE \
    --source . \
    --build-env-vars-file FILE_NAME.yaml

取代 FILE_NAME.yaml,檔案內容應如下所示:

 KEY1: VALUE1
 KEY2: VALUE2

如要部署函式,請新增 --function 旗標,並提供原始碼中的函式進入點。