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

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


当前回答

您可以尝试:gcloud config set project [project_id]

其他回答

我发布这个答案是为了让您了解在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:云命令行-在命令行中初始化配置

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

gcloud init

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

如果您不喜欢使用CLI命令,则首选这种方法。按下加号+按钮来创建新标签。

接下来,选择您喜欢的项目。

如果您不知道已经添加了gcloud的项目的名称,那么所选的答案将不起作用。我的流程是列出活动项目,然后切换到我想要的项目。

Gcloud配置配置列表

gcloud配置激活 其中[NAME]从前面的命令中列出。

在~/中添加下面的脚本。Bashrc和做,请替换项目名称(projectname)与任何你需要的名称

function s() {
        array=($(gcloud projects list | awk /projectname/'{print $1}'))
        for i in "${!array[@]}";do printf "%s=%s\n" "$i" "${array[$i]}";done
        echo -e "\nenter the number to switch project:\c"
        read project
        [ ${array[${project}]} ] || { echo "project not exists"; exit 2; }
        printf "\n**** Running: gcloud config set project ${array[${project}]} *****\n\n"
        eval "gcloud config set project ${array[${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`

如果你有很多项目,就像我一样,使用:

云热

这将列出你所有的项目,并让你选择更改当前项目设置,添加一个新的项目配置或切换:

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:

它总是会要求您登录并显示您可能拥有的不同谷歌帐户的选项。

鉴于我管理着多个组织和项目,这种方法让我可以简单地在它们之间切换。