gcloud:是否可以根据当前文件夹更改默认项目?
gcloud: is it possible to change the default project based on the current folder?
我正在处理几个 gcloud 项目,我厌倦了每次需要调用命令时都必须输入 --project XYZ
,或者更糟的是,如果我忘记了,命令会在错误的项目上执行将其添加到
是的,通过使用 gcloud configurations together with direnv。
创建一个配置(这也会激活它):
gcloud config configurations create <cool_new_config>
gcloud config set project <project>
安装direnv
。将它连接到您的 shell。对于 bash 我使用 ~/.bash_profile
而不是定向 ~/.bashrc
.
导航到要进行切换的项目文件夹。
- 创建一个名为 .envrc 的文件
- 添加行
export CLOUDSDK_ACTIVE_CONFIG_NAME=<cool_new_config>
- 白名单文件
direnv allow
验证功能:
- 打开一个新终端window
- 激活default/prior配置
- 导航到文件夹
- 用
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>
- 等等
我正在处理几个 gcloud 项目,我厌倦了每次需要调用命令时都必须输入 --project XYZ
,或者更糟的是,如果我忘记了,命令会在错误的项目上执行将其添加到
是的,通过使用 gcloud configurations together with direnv。
创建一个配置(这也会激活它):
gcloud config configurations create <cool_new_config>
gcloud config set project <project>
安装direnv
。将它连接到您的 shell。对于 bash 我使用 ~/.bash_profile
而不是定向 ~/.bashrc
.
导航到要进行切换的项目文件夹。
- 创建一个名为 .envrc 的文件
- 添加行
export CLOUDSDK_ACTIVE_CONFIG_NAME=<cool_new_config>
- 白名单文件
direnv allow
验证功能:
- 打开一个新终端window
- 激活default/prior配置
- 导航到文件夹
- 用
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>
- 等等