手動でgcloud init
を使用する以外にcli commands _を使用して、現在実行中のプロジェクトをGCP( Google Cloud Platform )アカウントで別のプロジェクトに変更する方法を教えてください。
$gcloud projects list
は自分のアカウントで実行されているプロジェクトを一覧表示します。 cliコマンドを使用して、リストから現在のプロジェクトを他のプロジェクトに変更したいです。
gcloud config set project my-project
環境変数$CLOUDSDK_CORE_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 NAME`
他の答えが示すように、実際にはプロジェクト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
名前を使用するとそれは暗黙のうちに受け入れられますが、プロジェクトに何かを配置しようとすると常に接続または許可の問題が発生します。
また、複数のプロジェクトと毎回グローバルプロジェクトを設定したくないを使用している場合は、 select project flagを使用できます。
たとえば、Google Cloud Platformでmy_vm
というプロジェクトの下にあるmy_project
という仮想マシンを接続するには、次のように入力します。
gcloud --project my_project計算ssh my_vm
こうすると、project flagを付けるだけで、複数のプロジェクトを操作して簡単に切り替えることができます。 here から他のGCPフラグについてもっと多くの情報を見つけることができます。
あなたが私が行う一握り以上のプロジェクトがある場合、その価値のために:
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アカウントのオプションを表示するように常に求められます。
私が複数の組織とプロジェクトを管理していることを考えると、このアプローチにより、それらを簡単に切り替えることができます。
Gcloudを追加したプロジェクトの名前がわからない場合は、選択した答えは役に立ちません。私の流れはアクティブなプロジェクトをリストアップして、そして私が欲しいものに切り替えることです。
gcloud config configurations list
gcloud config configurations activate [NAME]
ここで、[NAME]は前のコマンドのものです。
私はエイリアスを好みます、そしてあなたのプロジェクトのニーズに基づいて複数のコマンドを必要とするかもしれないもののために、私は機能を好みます...
例
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
}
別のプロジェクトに切り替えるには、.bash_alaisesにエイリアスを追加します。
alias switch_proj1="gcloud config set project ************"
これは、リストされているすべてのプロジェクトのエイリアスを生成するためのスクリプトです。あなたが覚えられることができるユニークなプロジェクトエイリアスにswitch_projを更新してください。
gcloud projects list | awk '{print "alias switch_proj=\"gcloud config set project " $1 "\""}'