如何使用cli命令,而不是手动使用gcloud init,将GCP(谷歌云平台)账户下当前正在运行的项目修改为其他项目?

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


当前回答

我向.bash_alaises添加别名以切换到不同的项目。

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

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

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

其他回答

通过运行gcloud config list检查您的项目 然后gcloud配置“项目名称”

gcloud config set project $MY_PROJECT_ID

#=>

Updated property [core/project].

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

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

例子

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
}

您应该实际使用项目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 config set project [project_id]