如何使用 cli命令将当前正在运行的项目更改为GCP( Google Cloud Platform )帐户中的其他项目,而不是使用 gcloud init
手动。
$gcloud projects list
会列出我帐户上运行的项目。我想使用cli命令将当前项目从列表中更改为任何其他项目。
答案 0 :(得分:208)
gcloud config set project my-project
您也可以设置环境变量$CLOUDSDK_CORE_PROJECT
。
答案 1 :(得分:28)
确保您已使用正确的帐户进行身份验证:
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`
答案 2 :(得分:10)
您实际上应该使用项目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
如果使用该名称,它将默默接受它,但是在尝试将某些内容部署到项目时,您总是会遇到连接或权限问题。
答案 3 :(得分:4)
此外,如果您使用多个项目并且不想每次都设置全局项目,您可以使用选择项目标志。
例如:在Google Cloud Platform中名为my_vm
的项目下连接名为my_project
的虚拟机:
gcloud -项目 my_project计算ssh my_vm
这样,您可以处理多个项目,只需放置 project 标志即可轻松地在多个项目之间进行更改。您可以从here中找到有关其他GCP标志的更多信息。
答案 4 :(得分:4)
可能我来晚了,但是此命令使我对gcloud SDK有了很多了解
gcloud alpha interactive
您自己更容易发现自己需要gcloud config set project my-project
。
但是,我最喜欢gcloud的是制表符,因此,如果您使用配置来配置gcloud config(我知道这听起来很奇怪,但运行此命令gcloud config configurations list
),则可以轻松地在自己通常的项目之间切换工作:
我使用的别名是:
alias gcca="gcloud config configurations activate"
,并且可以与zsh gcloud插件配合使用。
编辑: 要配置其中一种配置,我通常会这样做
gcloud config configurations create [CUSTOM_NAME]
gcloud auth login # you can also manually set
gcloud config set project [gcp-project-id]
gcloud config set compute/zone europe-west3-c
gcloud config set compute/region europe-west3
您也可以使用ENV变量,但是我喜欢以这种方式配置它...
答案 5 :(得分:1)
我更喜欢别名,对于可能需要多个命令的东西,根据您的项目需求,我更喜欢功能......
实施例
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
}
答案 6 :(得分:1)
gcloud 项目列表
获取项目列表。
<块引用>gcloud 配置集项目 [Project-ID]
用于设置默认项目。
您还可以将您的项目 ID 导出到变量中,以便在以后的命令中使用,这有助于避免出现以下错误。
<块引用>MY_PROJECT_ID=[项目 ID]
<块引用>回显 $MY_PROJECT_ID
答案 7 :(得分:1)
我正在发布此答案,以深入了解您可以在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:Cloud CLI-在CLI中初始化配置
如果您需要为不同的项目/帐户进行单独的配置,则可以使用此选项。这样,您可以使用activate
命令轻松地在配置之间切换。例如:gcloud config configurations activate <congif-name>
。
gcloud init
选项4:使用您的首选项目打开新的Cloud Shell
如果您不喜欢使用CLI命令,则首选此选项。按PLUS +
按钮进入新标签页。
下一步,选择您喜欢的项目。
答案 8 :(得分:1)
运行以下命令检查可用项目:gcloud projects list
。这将为您提供可以访问的项目列表。
要在项目之间切换:gcloud config set project <project-id>
。
此外,我建议在对gcloud配置进行任何更改之前检查活动配置。您可以通过运行:gcloud config list
答案 9 :(得分:1)
如果您拥有多个项目,那么对于它的价值,请使用:
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帐户的选项。
鉴于我管理多个组织和项目,因此该方法使我可以在它们之间进行简单切换。
答案 10 :(得分:1)
如果您不知道已添加gcloud的项目名称,那么选择的答案将无济于事。我的流程是列出活动的项目,然后切换到我想要的项目。
gcloud config configurations list
gcloud config configurations activate [NAME]
在上一个命令中列出了[NAME]。
答案 11 :(得分:0)
要将现有项目更新为另一个项目,可以使用以下命令行:
gcloud项目更新了PROJECT_ID --name = NAME
NAME:将是您的项目的新名称。
答案 12 :(得分:0)
通过运行gcloud配置列表检查项目 然后gcloud config设置“项目名称”
答案 13 :(得分:0)
您可以尝试:gcloud配置设置项目[project_id]
答案 14 :(得分:0)
我在.bash_alaises中添加别名以切换到其他项目。
alias switch_proj1="gcloud config set project ************"
这里是一个脚本,用于为列出的所有项目生成别名:)。 请将switch_proj更新为您可以记住的唯一项目别名。
gcloud projects list | awk '{print "alias switch_proj=\"gcloud config set project " $1 "\""}'
答案 15 :(得分:0)
在 ~/.bashrc 中添加以下脚本,并请用您需要的任何名称替换项目名称(项目名称)
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}]}"
}
答案 16 :(得分:0)
只需使用 gcloud projects list
即可获取您拥有的项目。获取要使用的项目的 PROJECT_ID
之后使用 gcloud set project --project=PROJECT_ID
设置项目。
答案 17 :(得分:0)
您可以使用 gcloud 命令更改项目:
gcloud config set project <your_project_name>