除了手动使用gcloud init
之外,我如何使用cli命令将当前运行的项目更改为GCP(Google Cloud Platform)帐户中的另一个项目?
gcloud projects list
将列出正在我的帐户上运行的项目。 我希望使用cli命令将当前项目更改为列表中的任何其他项目。
除了手动使用gcloud init
之外,我如何使用cli命令将当前运行的项目更改为GCP(Google Cloud Platform)帐户中的另一个项目?
gcloud projects list
将列出正在我的帐户上运行的项目。 我希望使用cli命令将当前项目更改为列表中的任何其他项目。
gcloud config set project $MY_PROJECT_ID
#=>
Updated property [core/project].
您还可以设置环境变量$CLOUDSDK_CORE_PROJECT
。
请确保您使用正确的帐户进行身份验证:
gcloud auth list
* account 1
account 2
如果没有,请切换到项目账户:
gcloud config set account `ACCOUNT`
根据账户不同,项目列表也会不同:
gcloud projects list
- project 1
- project 2...
切换到预期项目:
gcloud config set project `PROJECT ID`
其他答案所暗示的是,您应该实际使用项目ID而不是名称。
例如:
gcloud projects list
PROJECT_ID NAME PROJECT_NUMBER
something-staging-2587 something-staging 804012817122
something-production-24 something-production 392181605736
那么:
gcloud config set project something-staging-2587
当使用命令中的--project
标志之一时,情况也是如此:
gcloud --project something-staging-2587 compute ssh my_vm
如果您使用该名称,系统将悄无声息地接受它,但是当您尝试部署项目时,您将始终遇到连接或权限问题。
如果您使用该名称,系统将悄无声息地接受它,但是当您尝试部署项目时,您将始终遇到连接或权限问题。
如果您不知道已经添加到gcloud的项目名称,那么所选答案就没有帮助。 我的流程是列出活动项目,然后切换到我想要的项目。
gcloud config configurations list
gcloud config configurations activate [NAME]
其中[NAME]从前面的命令中列出。
gcloud alpha interactive
可以让你更容易地发现你需要执行gcloud config set project my-project
。
然而,我喜欢gcloud的一个特性——制表符自动完成。如果你使用配置文件配置了gcloud config(我知道听起来很奇怪,但运行这个命令:gcloud config configurations list
),你就可以轻松地在你通常工作的项目之间切换:
我使用的别名是:alias gcca="gcloud config configurations activate"
,它可以与zsh gcloud插件很好地配合使用。
编辑:
我通常会执行以下操作来配置其中一个配置文件:gcloud config configurations create [CUSTOM_NAME]
gcloud auth login # you can also manually set but this is for lazy one
gcloud config set project [gcp-project-id]
gcloud config set compute/zone europe-west3-c
gcloud config set compute/region europe-west3
您也可以使用环境变量来配置区域/项目,但我喜欢这种配置方式,因为我可以在不同项目之间使用选项卡切换。1 - 运行命令:gcloud auth list
2 - 运行命令:gcloud projects list
3 - 运行命令:gcloud config set project *projectid*
(将*projectid*替换为实际的项目ID)
另外,如果您正在使用多个项目并且不想每次都设置全局项目,您可以使用 选择项目 标志。
例如:连接 Google Cloud Platform 中名为 my_project
的项目下的名为 my_vm
的虚拟机:
gcloud --project my_project compute ssh my_vm
这样,您就可以轻松地在多个项目之间切换,并通过添加 project 标志来更改它们。您可以从此处获取有关其他 GCP 标志的更多信息。
如果你有很多个项目,我建议使用命令gcloud init
。
这会列出所有项目,并让你选择更改当前项目设置、添加新的项目配置或切换项目:
Pick configuration to use:
[1] Re-initialize this configuration [esqimo-preprod] with new settings
[2] Create a new configuration
[3] Switch to and re-initialize existing configuration: [default]
[4] Switch to and re-initialize existing configuration: [project 1]
[5] Switch to and re-initialize existing configuration: [project 2]
Please enter your numeric choice:
每次它都会询问您登录,并显示可能拥有的不同Google帐户的选项。
鉴于我管理多个组织和项目,这种方法使我能够轻松地在它们之间切换。
gcloud projects list
获取项目列表。
gcloud config set project [Project-ID]
设置默认项目。
您还可以将您的项目ID导出为变量以在未来的命令中使用,这有助于避免输入错误,方法如下:
MY_PROJECT_ID=[Project-ID]
echo $MY_PROJECT_ID
在设置 Gcloud 项目之前,请查看可用项目列表
gcloud projects list
然后使用以下命令设置项目
gcloud config set project $MY_PROJECT_ID
请确保您传递的是项目 ID(而不是项目名称,因为两者是不同的)
gcloud projects list
获取项目名称。 - sww314gcloud config get-value project
命令。 - Chris Halcrow--project=xyz
是至少部分命令的有效选项。 - Dmitry Yudakovgcloud config unset project
命令,这样如果我忘记使用--project
参数就会出错。感谢您的指引。 - TWiStErRob