【问题标题】:gcloud: is it possible to change the default project based on the current folder?gcloud:是否可以根据当前文件夹更改默认项目?
【发布时间】:2023-11-25 19:09:02
【问题描述】:

我正在处理多个 gcloud 项目,我厌倦了每次需要调用命令时都必须输入 --project XYZ,或者更糟糕的是,如果我忘记在错误的项目中添加该命令,则执行该命令.

【问题讨论】:

  • 推荐你gcloud config unset project以避免“在错误的项目上执行命令”。

标签: bash config gcloud direnv


【解决方案1】:

是的,通过使用 gcloud configurationsdirenv

创建一个配置(这也会激活它):

  • gcloud config configurations create <cool_new_config>
  • gcloud config set project <project>

安装direnv。把它挂在你的壳里。在 bash 中,我使用 ~/.bash_profile 而不是直接使用 ~/.bashrc

导航到您希望进行切换的项目文件夹。

  • 创建一个名为 .envrc 的文件
  • 加行export CLOUDSDK_ACTIVE_CONFIG_NAME=<cool_new_config>
  • 白名单文件direnv allow

验证功能:

  • 打开一个新的终端窗口
  • 激活默认/先前配置
  • 导航到文件夹
  • gcloud config configurations list确认

可选:重建其余配置

  • 查看所有配置:gcloud config configurations list
  • 描述旧配置gcloud config configurations describe <default>
  • 登录:gcloud auth login
  • 设置区域:gcloud config set compute/region <us-central1>
  • 设置区域:gcloud config set compute/zone <us-central1-a>

【讨论】: