如何使用cli命令,而不是手动使用gcloud init,将GCP(谷歌云平台)账户下当前正在运行的项目修改为其他项目?
Gcloud项目列表将列出在我的帐户上运行的项目。我想使用cli命令将当前项目更改为列表中的任何其他项目。
如何使用cli命令,而不是手动使用gcloud init,将GCP(谷歌云平台)账户下当前正在运行的项目修改为其他项目?
Gcloud项目列表将列出在我的帐户上运行的项目。我想使用cli命令将当前项目更改为列表中的任何其他项目。
当前回答
通过运行gcloud config list检查您的项目 然后gcloud配置“项目名称”
其他回答
您应该实际使用项目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 projects list检查可用的项目。这将为您提供一个可以访问的项目列表。 执行命令gcloud config set project <project-id>。
另外,我建议在对gcloud配置进行任何更改之前检查活动配置。您可以通过运行:gcloud config list来完成
做以下几点:
1 - gcloud认证列表 2 - gcloud项目列表 3 - gcloud配置项目*投影* (将项目id替换为实际项目id)
此外,如果您正在使用多个项目,并且不想每次都设置全局项目,您可以使用选择项目标志。
例如:连接谷歌云平台my_project项目下名为my_vm的虚拟机:
Gcloud——project my_project compute SSH my_vm
通过这种方式,您可以使用多个项目,并通过添加项目标志轻松地在它们之间进行更改。你可以在这里找到更多关于其他GCP标志的信息。
在~/中添加下面的脚本。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}]}"
}