web-dev-qa-db-ja.com

Cliコマンドを使用してgcpのプロジェクトを変更する方法

手動でgcloud initを使用する以外にcli commands _を使用して、現在実行中のプロジェクトをGCP( Google Cloud Platform )アカウントで別のプロジェクトに変更する方法を教えてください。

$gcloud projects listは自分のアカウントで実行されているプロジェクトを一覧表示します。 cliコマンドを使用して、リストから現在のプロジェクトを他のプロジェクトに変更したいです。

91
Ebin Davis
gcloud config set project my-project

環境変数$CLOUDSDK_CORE_PROJECTを設定することもできます。

200
Zachary Newman

正しいアカウントで認証されていることを確認してください。

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`
27
BlocksByLukas

他の答えが示すように、実際にはプロジェクト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

名前を使用するとそれは暗黙のうちに受け入れられますが、プロジェクトに何かを配置しようとすると常に接続または許可の問題が発生します。

10
devius

また、複数のプロジェクトと毎回グローバルプロジェクトを設定したくないを使用している場合は、 select project flagを使用できます。

たとえば、Google Cloud Platformでmy_vmというプロジェクトの下にあるmy_projectという仮想マシンを接続するには、次のように入力します。

gcloud --project my_project計算ssh my_vm

こうすると、project flagを付けるだけで、複数のプロジェクトを操作して簡単に切り替えることができます。 here から他のGCPフラグについてもっと多くの情報を見つけることができます。

4
alpay

あなたが私が行う一握り以上のプロジェクトがある場合、その価値のために:

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アカウントのオプションを表示するように常に求められます。

私が複数の組織とプロジェクトを管理していることを考えると、このアプローチにより、それらを簡単に切り替えることができます。

1
hoos

Gcloudを追加したプロジェクトの名前がわからない場合は、選択した答えは役に立ちません。私の流れはアクティブなプロジェクトをリストアップして、そして私が欲しいものに切り替えることです。

gcloud config configurations list

gcloud config configurations activate [NAME]
ここで、[NAME]は前のコマンドのものです。

1
Scott

私はエイリアスを好みます、そしてあなたのプロジェクトのニーズに基づいて複数のコマンドを必要とするかもしれないもののために、私は機能を好みます...

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
}
1

別のプロジェクトに切り替えるには、.bash_alaisesにエイリアスを追加します。

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

これは、リストされているすべてのプロジェクトのエイリアスを生成するためのスクリプトです。あなたが覚えられることができるユニークなプロジェクトエイリアスにswitch_projを更新してください。

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