Jak zmienić projekt w GCP za pomocą komend CLI

223

Jak mogę zmienić bieżący działający projekt na inny projekt na koncie GCP ( Google Cloud Platform ) przy użyciu poleceń cli innych niż gcloud initręczne.

$gcloud projects listwyświetli listę projektów działających na moim koncie. Chcę zmienić bieżący projekt na dowolny inny projekt z listy za pomocą polecenia cli.

Ebin Davis
źródło

Odpowiedzi:

447
gcloud config set project my-project

Możesz także ustawić zmienną środowiskową $CLOUDSDK_CORE_PROJECT.

Zachary Newman
źródło
58
Pomaga uzyskać nazwy projektu za pomocą:gcloud projects list
sww314
16
Aby sprawdzić, który projekt jest obecnie aktywny, użyjgcloud config get-value project
Chris Halcrow
4
Zabawne jest to, że zmieniam projekty tylko raz lub dwa razy w miesiącu. Więc za każdym razem, gdy muszę google go znaleźć i ponownie znaleźć się na tej odpowiedzi i spróbować dać kolejny głos :-D
L.Butz
81

Upewnij się, że jesteś uwierzytelniony za pomocą właściwego konta:

gcloud auth list
* account 1
  account 2

Zmień na konto projektu, jeśli nie:

gcloud config set account `ACCOUNT`

W zależności od konta lista projektów będzie inna:

gcloud projects list

- project 1
- project 2...

Przejdź do zamierzonego projektu:

gcloud config set project `PROJECT ID`
Lukas Lukac
źródło
24

Powinieneś właściwie użyć identyfikatora projektu, a nie nazwy, jak sugerują inne odpowiedzi.

Przykład:

gcloud projects list

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

Następnie:

gcloud config set project something-staging-2587

Podobnie jest w przypadku używania tylko --projectflagi z jednym z poleceń:

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

Jeśli użyjesz nazwy, po cichu ją zaakceptuje, ale zawsze będziesz mieć problemy z połączeniem lub uprawnieniami podczas próby wdrożenia czegoś w projekcie.

devius
źródło
10

Wybrana odpowiedź nie pomaga, jeśli nie znasz już nazw projektów, które dodałeś gcloud. Moje zadanie polega na wyświetleniu listy aktywnych projektów, a następnie przełączeniu na ten, który chcę.

gcloud config configurations list

gcloud config configurations activate [NAME]
gdzie [NAZWA] jest wymieniona w poprzednim poleceniu.

Scott
źródło
6

Ponadto, jeśli używasz więcej niż jednego projektu i nie chcesz za każdym razem ustawiać projektu globalnego, możesz użyć flagi wyboru projektu .

Na przykład: aby podłączyć maszynę wirtualną nazwaną w my_vmramach projektu o nazwie my_projectGoogle Cloud Platform:

gcloud --project my_project compute ssh my_vm

W ten sposób możesz pracować z wieloma projektami i łatwo przełączać się między nimi, po prostu umieszczając flagę projektu . Można znaleźć znacznie więcej informacji na temat innych flagi GCP z tutaj .

alpay
źródło
4

Po co, jeśli masz więcej niż kilka projektów, które ja wykonuję, użyj:

gcloud init

Spowoduje to wyświetlenie listy wszystkich projektów i da możliwość zmiany bieżących ustawień projektu, dodania nowej konfiguracji projektu lub przełączenia:

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:

Zawsze poprosi Cię o zalogowanie się i wyświetlenie opcji dla różnych kont Google, które możesz mieć.

Biorąc pod uwagę, że zarządzam wieloma organizacjami i projektami, to podejście pozwala mi po prostu przełączać się między nimi.

Hoos
źródło
3

Wolę aliasy, a do rzeczy, które mogą wymagać wielu poleceń, w zależności od potrzeb twojego projektu, wolę funkcje ...

Przykład

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
}
mamdouh alramadan
źródło
1

Sprawdź dostępne projekty uruchamiając: gcloud projects list. To da ci listę projektów, do których masz dostęp. Aby przełączać się między projektami:gcloud config set project <project-id> .

Polecam również sprawdzenie aktywnej konfiguracji przed wprowadzeniem jakichkolwiek zmian w gcloud config. Możesz to zrobić, uruchamiając:gcloud config list

PanwarS87
źródło
1

Możliwe, że spóźniłem się z odpowiedzią, ale to polecenie sprawiło, że wiele się dowiedziałem o gcloud SDK

gcloud alpha interactive

Łatwiej jest odkryć, że będziesz potrzebować gcloud config set project my-project .

Najlepsze jest komplikowanie kart, aby wyświetlić listę projektów, naciskając dwukrotnie klawisz Tab.

confiq
źródło
1

Publikuję tę odpowiedź, aby uzyskać wgląd w wiele dostępnych sposobów zmiany projektu na CPG. Wyjaśnię również, kiedy użyć każdej z poniższych opcji.


Opcja 1: Cloud CLI - Ustaw właściwość projektu w Cloud SDK na CLI

Użyj tej opcji, jeśli chcesz uruchomić wszystkie polecenia Cloud CLI w określonym projekcie.

gcloud config set project <Project-ID>

Dzięki temu wybrany projekt włączony Cloud CLIzmieni się, a aktualnie wybrany projekt zostanie podświetlony na żółto.

wprowadź opis zdjęcia tutaj


Opcja 2: Cloud CLI - Ustaw flagę ID projektu za pomocą większości poleceń

Użyj tego polecenia, jeśli chcesz wykonywać polecenia w wielu projektach. Np .: utwórz klastry w jednym projekcie i użyj tych samych konfiguracji, aby utworzyć w innym projekcie. Dla każdego polecenia użyj następującej flagi.

--project <Project-ID>

Opcja 3: Cloud CLI - Zainicjuj konfiguracje w CLI

Tej opcji można użyć, jeśli potrzebujesz osobnych konfiguracji dla różnych projektów / kont. Dzięki temu możesz łatwo przełączać się między konfiguracjami za pomocą activatepolecenia. Np gcloud config configurations activate <congif-name>. :

gcloud init

Opcja 4: Otwórz nową Cloud Shell z preferowanym projektem

Jest to preferowane, jeśli nie lubisz pracować z poleceniami CLI. Naciśnij PLUS +przycisk, aby przejść do nowej karty. wprowadź opis zdjęcia tutaj

Następnie wybierz preferowany projekt.

wprowadź opis zdjęcia tutaj

Keet Sugathadasa
źródło
0

Dodam aliasy do .bash_alaises, aby przejść do innego projektu.

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

Oto skrypt do generowania aliasów :) dla wszystkich wymienionych projektów. Zaktualizuj switch_proj do unikalnych aliasów projektów, które możesz zapamiętać.

gcloud projects list | awk '{print "alias switch_proj=\"gcloud config set project " $1 "\""}'
Ravishankar Sivasubramaniam
źródło
0

Aby zaktualizować istniejący projekt do innego projektu, możesz użyć tego wiersza polecenia:

Aktualizacja projektów gcloud PROJECT_ID --name = NAME

NAZWA: będzie nową nazwą twojego projektu.

BackToReal
źródło
3
Pytanie dotyczy tego, jak zmienić bieżący działający projekt na inny, a nie jak zmienić nazwę projektu. Cenne informacje, ale niezwiązane z pytaniem.
P.hunter,
0

Sprawdź swój projekt, uruchamiając listę konfiguracji gcloud. Następnie gcloud config ustaw „nazwa projektu”

Amir ElGammal
źródło
0

Możesz spróbować: gcloud config set project [ID_projektu]

Fabián García
źródło