如何使用cli命令在gcp中更改项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用cli命令在gcp中更改项目相关的知识,希望对你有一定的参考价值。

如何使用cli命令将当前运行的项目更改为GCP(Google Cloud Platform)帐户中的另一个项目,而不是手动使用gcloud init

$gcloud projects list将列出我帐户上运行的项目。我想使用cli命令将当前项目从列表中更改为任何其他项目。

答案
gcloud config set project my-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 NAME`
另一答案

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

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

另一答案

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

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

gcloud --project my_project compute ssh my_vm

这样,您可以使用多个项目,并通过放置项目标志轻松地在它们之间进行更改。您可以从here找到更多关于其他GCP标志的信息。

另一答案

我更喜欢别名,对于可能需要多个命令的东西,根据你的项目需求,我更喜欢函数......

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
}
另一答案

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

gcloud config configurations list

gcloud config configurations activate [NAME] 其中[NAME]从先前命令列出。

另一答案

如果您拥有的项目数量超过少数项目的价值,请使用:

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

鉴于我管理多个组织和项目,这种方法让我只需在它们之间切换。

另一答案

我在.bash_alaises中添加别名以切换到另一个项目。

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

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

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

以上是关于如何使用cli命令在gcp中更改项目的主要内容,如果未能解决你的问题,请参考以下文章

我可以完全从 CLI 或脚本创建和配置 GCP 项目 + Firebase 吗?

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

从 CLI 允许 GCP 实例(端口:8080)的防火墙规则

等待 GCP 基础架构更改传播的 Terraform 问题

GCP PubSub:通过 CURL 类型的请求发布消息