設定是一組具名的 Google Cloud CLI 屬性。這些屬性是鍵/值組合,以區段形式組織,用於控管 gcloud CLI 的行為。
設定中通常會儲存預設 Compute Engine 可用區、詳細程度、用量報表、專案 ID,以及有效使用者或服務帳戶等屬性。設定可讓您定義並啟用這些設定和其他設定。
設定會儲存在使用者設定目錄中 (MacOS 和 Linux 通常是 ~/.config/gcloud,Windows 則是 %APPDATA%\gcloud);您可以執行 gcloud info --format='value(config.paths.global_config_dir)' 來找出設定目錄的位置。如要變更設定目錄,請設定環境變數 CLOUDSDK_CONFIG。此外,請注意,設定目錄必須啟用寫入功能。不過,如果您使用的是 Cloud Shell,gcloud CLI 偏好設定會儲存在臨時 tmp 資料夾中,僅適用於目前的 Cloud Shell 分頁,不會在工作階段之間保留。
如果您有多個設定,可以選擇切換設定,或使用特定設定執行指令 (透過 --configuration 旗標)。如要進一步瞭解如何切換設定,請參閱下方的「啟用設定」一節。
如要透過指令列查看設定 (以及可用屬性和所在區段的完整清單),請執行 gcloud topic configurations。
預設設定
gcloud CLI 會先提供名為 default 的單一設定。如要設定屬性,請執行 gcloud init 指令,或直接執行 gcloud config set。
舉例來說,如要停用編寫指令碼的提示,請執行:
gcloud config set disable_prompts true
多重配置
單一 default 設定適用於多種用途。不過,您也可以建立其他設定,並視需要使用 gcloud config configurations activate 切換設定。初始 default 設定並無特別之處,只是為了方便而建立。您可以隨意命名這項配置或任何其他配置。
如果您想執行下列事項,多重配置就相當實用:
- 使用多重專案:您可以為每個專案建立個別配置,並依照需求在其中切換。
- 使用多個授權帳戶
- 執行通常獨立的工作:舉例來說,您可以使用一項設定,在某個專案中處理 App Engine 應用程式,並在另一個專案中管理不相關的 Compute Engine 執行個體。
建立設定
如要建立設定,請執行 gcloud config configurations create:
gcloud config configurations create [NAME]
您必須在配置建立後進行啟用才能使用該配置。
啟用配置
多重配置中僅有一個配置會在指定時間內啟用。有效設定的屬性會控管 gcloud CLI 的行為。
如要啟用新設定或切換至新的有效設定,請執行 gcloud config configurations activate:
gcloud config configurations activate [NAME]
gcloud config list 一律會顯示有效設定中的屬性。
如要變更單一指令叫用的有效設定,可以在任何 gcloud CLI 指令中使用 --configuration 旗標:
gcloud auth list --configuration=[CONFIGURATION_NAME]
如要將啟用中的配置在您的目前終端機中變更為適用所有指令,您可以將環境變數 CLOUDSDK_ACTIVE_CONFIG_NAME 設為您想使用的配置名稱。
自動進行配置切換
為順暢變更設定,您可以使用 direnv 和 ondir 等工具,在切換目前使用的目錄時自動切換設定。其中一種方法是在專案根目錄的 .envrc 檔案中,設定必要的環境變數 (例如 CLOUDSDK_ACTIVE_CONFIG_NAME)。
列出配置
如要列出 gcloud CLI 安裝作業中的設定,請執行 gcloud config configurations list:
gcloud config configurations list
gcloud CLI 會列出設定,並顯示哪些設定為有效:
NAME IS_ACTIVE ACCOUNT PROJECT DEFAULT_ZONE DEFAULT_REGION default False user@gmail.com example-project-1 us-east1-b us-east1 project-1 False user@gmail.com example-project-2 us-east1-c us-east1 project-2 True user@gmail.com example-project-3 us-east1-b us-east1
設定配置屬性
如要設定及取消設定有效設定中的屬性,請執行 gcloud config set 和 gcloud config unset:
gcloud config set project [PROJECT]
gcloud config unset project
您也可以透過名為 CLOUDSDK_SECTION_NAME_PROPERTY_NAME 的環境變數設定屬性。舉例來說,您可以設定 core/project 和 compute/zone 屬性,如下所示:
CLOUDSDK_CORE_PROJECT=[YOUR_PROJECT_NAME]
CLOUDSDK_COMPUTE_ZONE=[YOUR_ZONE_NAME]
檢視配置屬性
如要查看設定中的屬性,請執行:
gcloud config configurations describe:
gcloud config configurations describe [NAME]
如要檢視使用中配置的屬性:
gcloud config list
gcloud CLI 會輸出配置屬性:
is_active: false
name: default
properties:
compute:
region: us-east1
zone: us-east1-b
core:
account: user@google.com
project: example-project
刪除配置
如要刪除設定,請執行 gcloud config configurations delete:
gcloud config configurations delete [NAME]
無法刪除使用中的設定。如有需要,請使用 gcloud config configurations activate 切換至其他設定,再刪除。
後續步驟
- 如要進一步瞭解屬性,請參閱「gcloud CLI 屬性」。