我希望gcloud使用我知道路径的特定.config
目录。有没有办法强制它使用这个目录?
我希望gcloud使用我知道路径的特定.config
目录。有没有办法强制它使用这个目录?
你可以设置环境变量
CLOUDSDK_CONFIG=/path/to/dir
覆盖默认值~/.config/gcloud
的设置。
虽然我不确定是否使用不同的.config目录,但您可以使用--configuration标志。
您可以查看gcloud --help
和gcloud topic configurations
获取更多信息。
/home/username/.config> rm -f gcloud; ln -s gcloud.v1 gcloud
/home/username/.config> ls -l gcloud
lrwxrwxrwx 1 username at 9 Jan 19 09:19 gcloud -> gcloud.v1
/home/username/.config> gcloud auth list
No credentialed accounts.
To login, run:
$ gcloud auth login `ACCOUNT`
/home/username/.config> rm -f gcloud ; ln -s gcloud.v2 gcloud
/home/username/.config> ls -l gcloud
lrwxrwxrwx 1 username at 9 Jan 19 09:19 gcloud -> gcloud.v2
/home/username/.config> gcloud auth list
Credentialed Accounts
ACTIVE ACCOUNT
* username@gmail.com
To set the active account, run:
$ gcloud config set account `ACCOUNT`
/home/username/.config>
我遇到了这个问题多年,一直在考虑编写一个伟大的rubygem来解决它,然后想到这可能是一个不错的妥协。
contextual-gcloud
的简单脚本。注意\gcloud,这对于未来的别名非常重要。$ cat > contextual-gcloud
#!/bin/bash
if [ -d .gcloudconfig/ ]; then
echo "[$0] .gcloudconfig/ directory detected: using that dir for configs instead of default."
CLOUDSDK_CONFIG=./.gcloudconfig/ \gcloud "$@"
else
\gcloud "$@"
fi
将以下内容添加到您的.bashrc
文件中,并重新加载/启动新的bash。这将修复自动补全问题。
alias gcloud=contextual-gcloud
就是这样!如果您有一个以这种方式命名的目录,系统将使用该目录,这意味着您可以将配置加载到源代码控制中等等。只需记住将日志和私人信息(密钥、证书等)添加到git ignore中即可。
注意:通过别名解决了自动补全问题;)
代码:https://github.com/palladius/sakura/blob/master/bin/contextual-gcloud