Cara mengubah proyek di GCP menggunakan perintah CLI

221

Bagaimana saya bisa mengubah proyek yang sedang berjalan ke proyek lain di akun GCP ( Google Cloud Platform ) menggunakan perintah cli selain menggunakan gcloud initsecara manual.

$gcloud projects listakan mencantumkan proyek yang berjalan di akun saya. Saya ingin mengubah proyek saat ini ke proyek lain dari daftar menggunakan perintah cli.

Ebin Davis
sumber

Jawaban:

444
gcloud config set project my-project

Anda juga dapat mengatur variabel lingkungan $CLOUDSDK_CORE_PROJECT.

Zachary Newman
sumber
58
Ini membantu untuk mendapatkan nama-nama proyek dengan:gcloud projects list
sww314
16
Dan untuk memeriksa proyek mana yang sedang aktif, gunakangcloud config get-value project
Chris Halcrow
4
Lucunya, saya hanya mengganti proyek satu atau dua kali sebulan. Jadi setiap kali saya harus google dan berakhir di jawaban ini lagi dan mencoba untuk memberikannya upvote lain :-D
L.Butz
79

Pastikan Anda diautentikasi dengan akun yang benar:

gcloud auth list
* account 1
  account 2

Ubah ke akun proyek jika tidak:

gcloud config set account `ACCOUNT`

Bergantung pada akun, daftar proyek akan berbeda:

gcloud projects list

- project 1
- project 2...

Beralih ke proyek yang dimaksud:

gcloud config set project `PROJECT ID`
Lukas Lukac
sumber
24

Anda harus benar-benar menggunakan ID proyek dan bukan nama seperti jawaban lain menyiratkan.

Contoh:

gcloud projects list

PROJECT_ID              NAME                  PROJECT_NUMBER
something-staging-2587  something-staging     804012817122
something-production-24 something-production  392181605736

Kemudian:

gcloud config set project something-staging-2587

Itu juga hal yang sama ketika menggunakan hanya --projectflag dengan salah satu perintah:

gcloud --project something-staging-2587 compute ssh my_vm

Jika Anda menggunakan nama itu akan diam-diam menerimanya tetapi kemudian Anda akan selalu mendapatkan masalah koneksi atau izin ketika mencoba untuk menyebarkan sesuatu ke proyek.

devius
sumber
10

Jawaban yang dipilih tidak membantu jika Anda tidak tahu nama proyek yang telah Anda tambahkan gcloud. Alur saya adalah untuk mendaftar proyek aktif, kemudian beralih ke yang saya inginkan.

gcloud config configurations list

gcloud config configurations activate [NAME]
di mana [NAMA] terdaftar dari perintah sebelumnya.

Scott
sumber
6

Juga, jika Anda menggunakan lebih dari satu proyek dan tidak ingin mengatur proyek global setiap kali, Anda dapat menggunakan flag proyek pilih .

Misalnya: untuk menghubungkan mesin virtual, yang diberi nama di my_vmbawah proyek yang disebut my_projectdi Google Cloud Platform:

gcloud --proyek my_project menghitung ssh my_vm

Dengan cara ini, Anda dapat bekerja dengan banyak proyek dan mengubahnya dengan mudah hanya dengan meletakkan bendera proyek . Anda dapat menemukan lebih banyak informasi tentang bendera GCP lainnya dari sini .

alpay
sumber
4

Untuk apa nilainya jika Anda memiliki lebih dari beberapa proyek, yang saya lakukan, gunakan:

gcloud init

Ini akan mencantumkan semua proyek Anda dan memberi Anda opsi untuk mengubah pengaturan proyek saat ini, menambahkan konfigurasi proyek baru atau beralih:

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:

Itu akan selalu meminta Anda untuk masuk dan menampilkan opsi untuk berbagai akun google yang mungkin Anda miliki.

Mengingat bahwa saya mengelola banyak organisasi dan proyek, pendekatan ini memungkinkan saya untuk beralih di antara mereka.

hoo
sumber
3

Saya lebih suka alias, dan untuk hal-hal yang mungkin memerlukan banyak perintah, berdasarkan kebutuhan proyek Anda, saya lebih suka fungsi ...

Contoh

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
}
alramadan mamdouh
sumber
1

Periksa proyek yang tersedia dengan menjalankan: gcloud projects list. Ini akan memberi Anda daftar proyek yang dapat Anda akses. Untuk beralih antara proyek: gcloud config set project <project-id>.

Juga, saya sarankan memeriksa konfigurasi aktif sebelum membuat perubahan ke konfigurasi gcloud. Anda dapat melakukannya dengan menjalankan:gcloud config list

PanwarS87
sumber
1

Bisa jadi saya terlambat menjawab, tetapi perintah ini membuat saya belajar banyak tentang gcloud SDK

gcloud alpha interactive

Lebih mudah untuk menemukan sendiri yang Anda butuhkan gcloud config set project my-project.

Yang terbaik adalah komplikasi tab sehingga Anda melihat daftar proyek dengan menekan tab dua kali.

confiq
sumber
1

Saya memposting jawaban ini untuk memberikan wawasan tentang berbagai cara yang tersedia bagi Anda untuk mengubah proyek di GCP. Saya juga akan menjelaskan kapan harus menggunakan masing-masing opsi berikut.


Opsi 1: Cloud CLI - Tetapkan Properti Proyek di Cloud SDK pada CLI

Gunakan opsi ini, jika Anda ingin menjalankan semua perintah Cloud CLI pada proyek tertentu.

gcloud config set project <Project-ID>

Dengan ini, proyek yang dipilih aktif Cloud CLIakan berubah, dan proyek yang dipilih saat ini disorot dengan warna kuning.

masukkan deskripsi gambar di sini


Opsi 2: Cloud CLI - Tetapkan flag ID Proyek dengan sebagian besar Perintah

Gunakan perintah ini jika Anda ingin menjalankan perintah pada banyak proyek. Misalnya: membuat cluster dalam satu proyek, dan menggunakan konfigurasi yang sama untuk membuat pada proyek lain. Gunakan bendera berikut untuk setiap perintah.

--project <Project-ID>

Opsi 3: Cloud CLI - Menginisialisasi Konfigurasi di CLI

Opsi ini dapat digunakan jika Anda memerlukan konfigurasi terpisah untuk berbagai proyek / akun. Dengan ini, Anda dapat dengan mudah beralih antar konfigurasi dengan menggunakan activateperintah. Misalnya: gcloud config configurations activate <congif-name>.

gcloud init

Opsi 4: Buka Cloud Shell baru dengan proyek pilihan Anda

Ini lebih disukai jika Anda tidak suka bekerja dengan perintah CLI. Tekan PLUS +tombol untuk tab baru. masukkan deskripsi gambar di sini

Selanjutnya, pilih proyek pilihan Anda.

masukkan deskripsi gambar di sini

Keet Sugathadasa
sumber
0

Saya menambahkan alias ke .bash_alaises untuk beralih ke proyek lain.

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

Berikut ini skrip untuk menghasilkan alias :) untuk semua proyek yang terdaftar. Harap perbarui switch_proj ke alias proyek unik yang dapat Anda ingat.

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

Untuk memperbarui proyek yang ada ke proyek lain, Anda dapat menggunakan baris perintah ini:

proyek gcloud memperbarui PROJECT_ID --name = NAME

NAME: akan menjadi nama baru proyek Anda.

BackToReal
sumber
3
Pertanyaannya adalah bagaimana mengubah proyek kerja saat ini ke yang lain, bukan pada bagaimana mengubah nama proyek. Info berharga tetapi tidak terkait dengan pertanyaan.
P.hunter
0

Periksa proyek Anda dengan menjalankan daftar konfigurasi gcloud Kemudian konfigurasi gcloud setel "nama proyek"

Amir ElGammal
sumber
0

Anda dapat mencoba: gcloud config set project [project_id]

Fabián García
sumber