如何使用CLI命令在GCP中更改项目


Answers:


442
gcloud config set project my-project

您还可以设置环境变量$CLOUDSDK_CORE_PROJECT


58
使用以下方法有助于获得项目名称:gcloud projects list
sww314

16
要检查哪个项目当前处于活动状态,请使用gcloud config get-value project
克里斯·哈尔克罗

4
有趣的是,我每月只交换一次或两次我的项目。因此,每次我必须搜索它并再次得到该答案,然后尝试再次给予它
投票

78

确保使用正确的帐户进行身份验证:

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`

24

实际上,您应该使用项目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

如果使用该名称,它将默默地接受它,但是在尝试将某些内容部署到项目时,您总是会遇到连接或权限问题。


9

如果您不知道已添加gcloud的项目名称,则选择的答案无济于事。我的流程是列出活动项目,然后切换到我想要的项目。

gcloud config configurations list

gcloud config configurations activate [NAME]
在上一个命令中列出了[NAME]。


6

另外,如果您正在使用多个项目,并且不想每次都设置全局项目,则可以使用select project flag。

例如:连接虚拟机,该虚拟机在Google Cloud Platform中命名my_vm的项目下命名my_project

gcloud --project my_project计算ssh my_vm

这样,您可以处理多个项目,只需放置项目标记即可轻松地在它们之间进行更改。您可以从此处找到有关其他GCP标志的更多信息。


4

如果您有多个项目(我愿意这样做),那么使用:

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帐户的选项。

考虑到我管理多个组织和项目,这种方法使我可以在它们之间进行简单切换。


3

我确实更喜欢别名,对于某些可能需要多个命令的事情,根据您的项目需求,我更喜欢函数...

function switchGCPProject() {
        gcloud config set project [Project Name]
        // if you are using GKE use the following
        gcloud config set container/cluster [Cluster Name]
        // if you are using GCE use the following
        gcloud config set compute/zone [Zone]
        gcloud config set compute/region [region]
        // if you are using GKE use the following
        gcloud container clusters get-credentials [cluster name] --zone [Zone] --project [project name]
        export GOOGLE_APPLICATION_CREDENTIALS=path-to-credentials.json
}

1

通过运行以下命令检查可用的项目:gcloud projects list。这将为您提供可以访问的项目列表。要在项目之间切换:gcloud config set project <project-id>

另外,我建议在对gcloud配置进行任何更改之前检查活动配置。您可以通过运行:gcloud config list


1

我将发布此答案,以深入了解您可以在GCP上更改项目的多种方式。我还将说明何时使用以下每个选项。


选项1:Cloud CLI-在CLI上的Cloud SDK上设置项目属性

如果要在特定项目上运行所有Cloud CLI命令,请使用此选项。

gcloud config set project <Project-ID>

这样,选中的项目Cloud CLI将更改,并且当前选中的项目以黄色突出显示。

在此处输入图片说明


选项2:Cloud CLI-使用大多数命令设置项目ID标志

如果要在多个项目上执行命令,请使用此命令。例如:在一个项目中创建集群,并使用相同的配置在另一个项目中创建。对每个命令使用以下标志。

--project <Project-ID>

选项3:Cloud CLI-在CLI中初始化配置

如果您需要为不同的项目/帐户进行单独的配置,则可以使用此选项。这样,您可以使用activate命令轻松地在配置之间切换。例如:gcloud config configurations activate <congif-name>

gcloud init

选项4:使用您的首选项目打开新的Cloud Shell

如果您不喜欢使用CLI命令,则首选此方法。按下PLUS +按钮进入新标签页。 在此处输入图片说明

接下来,选择您的首选项目。

在此处输入图片说明


0

我将别名添加到.bash_alaises,以切换到其他项目。

alias switch_proj1="gcloud config set project ************"

这是一个为所有列出的项目生成别名:)的脚本。请将switch_proj更新为您可以记住的唯一项目别名。

gcloud projects list | awk '{print "alias switch_proj=\"gcloud config set project " $1 "\""}'

0

要将现有项目更新为另一个项目,可以使用以下命令行:

gcloud项目更新PROJECT_ID --name = NAME

NAME:将是您的项目的新名称。


3
问题在于如何将当前正在工作的项目更改为另一个项目,而不是如何更改项目的名称。有价值的信息,但与问题无关。
P.hunter



0

可能是我来晚了,但是此命令使我对gcloud SDK有了很多了解

gcloud alpha interactive

自己发现需要的东西比较容易gcloud config set project my-project

最好是制表符复杂性,这样您可以通过按两次制表符来查看项目列表。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.