如何使用cli命令,而不是手动使用gcloud init,将GCP(谷歌云平台)账户下当前正在运行的项目修改为其他项目?
Gcloud项目列表将列出在我的帐户上运行的项目。我想使用cli命令将当前项目更改为列表中的任何其他项目。
如何使用cli命令,而不是手动使用gcloud init,将GCP(谷歌云平台)账户下当前正在运行的项目修改为其他项目?
Gcloud项目列表将列出在我的帐户上运行的项目。我想使用cli命令将当前项目更改为列表中的任何其他项目。
当前回答
请确保您已使用正确的帐户进行身份验证:
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`
其他回答
要将现有项目更新到另一个项目,您可以使用以下命令行:
gcloud项目更新PROJECT_ID——name= name
NAME:将是项目的新名称。
我向.bash_alaises添加别名以切换到不同的项目。
alias switch_proj1="gcloud config set project ************"
下面是一个脚本,为列出的所有项目生成别名。 请将switch_proj更新为您能记住的唯一项目别名。
gcloud projects list | awk '{print "alias switch_proj=\"gcloud config set project " $1 "\""}'
在~/中添加下面的脚本。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}]}"
}
您应该实际使用项目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项目列表来获取您拥有的项目。获取要使用的对象的PROJECT_ID 之后使用gcloud set project——project=PROJECT_ID来设置项目。