So ändern Sie das Projekt in GCP mithilfe von CLI-Befehlen


220

Wie kann ich das aktuell ausgeführte Projekt mithilfe von cli-Befehlen in ein anderes Projekt im GCP- Konto ( Google Cloud Platform ) ändern ? andere als gcloud initmanuell

$gcloud projects listlistet die Projekte auf, die auf meinem Konto ausgeführt werden. Ich möchte das aktuelle Projekt mit einem cli-Befehl in ein anderes Projekt aus der Liste ändern.

Antworten:


443
gcloud config set project my-project

Sie können auch die Umgebungsvariable festlegen $CLOUDSDK_CORE_PROJECT.


58
Es hilft, die Projektnamen zu erhalten mit:gcloud projects list
sww314

16
Und um zu überprüfen, welches Projekt derzeit aktiv ist, verwenden Siegcloud config get-value project
Chris Halcrow

4
Das Lustige ist, dass ich meine Projekte nur ein- oder zweimal im Monat wechsle. Also muss ich jedes Mal googeln und bei dieser Antwort erneut landen und versuchen, sie erneut zu bewerten :-D
L.Butz

78

Stellen Sie sicher, dass Sie mit dem richtigen Konto authentifiziert sind:

gcloud auth list
* account 1
  account 2

Wechseln Sie zum Projektkonto, wenn nicht:

gcloud config set account `ACCOUNT`

Je nach Konto ist die Projektliste unterschiedlich:

gcloud projects list

- project 1
- project 2...

Zum beabsichtigten Projekt wechseln:

gcloud config set project `PROJECT ID`

24

Sie sollten tatsächlich die Projekt-ID und nicht den Namen verwenden, wie die anderen Antworten implizieren.

Beispiel:

gcloud projects list

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

Dann:

gcloud config set project something-staging-2587

Es ist auch dasselbe, wenn Sie nur das --projectFlag mit einem der Befehle verwenden:

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

Wenn Sie den Namen verwenden, wird er stillschweigend akzeptiert, aber es treten immer Verbindungs- oder Berechtigungsprobleme auf, wenn Sie versuchen, etwas für das Projekt bereitzustellen.


9

Die ausgewählte Antwort hilft nicht, wenn Sie den Namen der Projekte nicht kennen, die Sie gcloud bereits hinzugefügt haben. Mein Ablauf besteht darin, die aktiven Projekte aufzulisten und dann zu dem gewünschten zu wechseln.

gcloud config configurations list

gcloud config configurations activate [NAME]
Dabei wird [NAME] aus dem vorherigen Befehl aufgelistet.


6

Wenn Sie mehr als ein Projekt verwenden und nicht jedes Mal ein globales Projekt festlegen möchten, können Sie ein ausgewähltes Projekt verwenden Flag " verwenden.

Beispiel: So verbinden Sie eine virtuelle Maschine, die my_vmunter einem my_projectin Google Cloud Platform genannten Projekt benannt ist :

gcloud --project my_project compute ssh my_vm

Auf diese Weise können Sie mit mehreren Projekten arbeiten und einfach zwischen ihnen wechseln, indem Sie einfach das Projektflag setzen . Weitere Informationen zu anderen GCP-Flags finden Sie hier .


4

Für was es wert ist, wenn Sie mehr als eine Handvoll Projekte haben, die ich mache, verwenden Sie:

gcloud init

Dadurch werden alle Ihre Projekte aufgelistet und Sie können die aktuellen Projekteinstellungen ändern, eine neue Projektkonfiguration hinzufügen oder wechseln:

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:

Sie werden immer aufgefordert, sich anzumelden und Optionen für verschiedene Google-Konten anzuzeigen, die Sie möglicherweise haben.

Da ich mehrere Organisationen und Projekte verwalte, kann ich mit diesem Ansatz einfach zwischen ihnen wechseln.


3

Ich bevorzuge Aliase und für Dinge, die je nach Projektanforderungen mehrere Befehle benötigen, bevorzuge ich Funktionen ...

Beispiel

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

Überprüfen Sie die verfügbaren Projekte, indem Sie Folgendes ausführen : gcloud projects list. Dadurch erhalten Sie eine Liste der Projekte, auf die Sie zugreifen können. So wechseln Sie zwischen Projekten:gcloud config set project <project-id> .

Außerdem empfehle ich, die aktive Konfiguration zu überprüfen, bevor Sie Änderungen an der gcloud-Konfiguration vornehmen. Sie können dies tun, indem Sie Folgendes ausführen:gcloud config list


1

Es könnte sein, dass ich zu spät komme, um zu antworten, aber dieser Befehl hat mich dazu gebracht, viel über das gcloud SDK zu lernen

gcloud alpha interactive

Es ist einfacher, selbst herauszufinden, was Sie brauchen gcloud config set project my-project.

Am besten ist die Tabulatorkomplikation, sodass Sie die Liste der Projekte anzeigen, indem Sie zweimal die Tabulatortaste drücken.


1

Ich poste diese Antwort, um Ihnen Einblicke in verschiedene Möglichkeiten zu geben, wie Sie das Projekt in GCP ändern können. Ich werde auch erklären, wann jede der folgenden Optionen verwendet werden soll.


Option 1: Cloud-CLI - Legen Sie die Projekteigenschaft im Cloud-SDK in der CLI fest

Verwenden Sie diese Option, wenn Sie alle Cloud-CLI-Befehle für ein bestimmtes Projekt ausführen möchten.

gcloud config set project <Project-ID>

Cloud CLIDadurch ändert sich das ausgewählte Projekt und das aktuell ausgewählte Projekt wird gelb hervorgehoben.

Geben Sie hier die Bildbeschreibung ein


Option 2: Cloud-CLI - Setzen Sie das Projekt-ID-Flag mit den meisten Befehlen

Verwenden Sie diesen Befehl, wenn Sie Befehle für mehrere Projekte ausführen möchten. Beispiel: Erstellen Sie Cluster in einem Projekt und verwenden Sie dieselben Konfigurationen, um sie in einem anderen Projekt zu erstellen. Verwenden Sie für jeden Befehl das folgende Flag.

--project <Project-ID>

Option 3: Cloud-CLI - Initialisieren Sie die Konfigurationen in der CLI

Diese Option kann verwendet werden, wenn Sie separate Konfigurationen für verschiedene Projekte / Konten benötigen. Mit diesem activateBefehl können Sie einfach zwischen den Konfigurationen wechseln . ZB : gcloud config configurations activate <congif-name>.

gcloud init

Option 4: Öffnen Sie eine neue Cloud Shell mit Ihrem bevorzugten Projekt

Dies wird bevorzugt, wenn Sie nicht mit CLI-Befehlen arbeiten möchten. Drücken Sie die PLUS +Taste für eine neue Registerkarte. Geben Sie hier die Bildbeschreibung ein

Wählen Sie als Nächstes Ihr bevorzugtes Projekt aus.

Geben Sie hier die Bildbeschreibung ein


0

Ich füge den .bash_alaises Aliase hinzu, um zu einem anderen Projekt zu wechseln.

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

Hier ist ein Skript zum Generieren von Aliasen :) für alle aufgelisteten Projekte. Bitte aktualisieren Sie switch_proj auf eindeutige Projektaliasnamen, an die Sie sich erinnern können.

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

0

Um Ihr vorhandenes Projekt auf ein anderes Projekt zu aktualisieren, können Sie folgende Befehlszeile verwenden:

gcloud-Projekte aktualisieren PROJECT_ID --name = NAME

NAME: ist der neue Name Ihres Projekts.


3
Die Frage ist, wie das aktuelle Arbeitsprojekt in ein anderes geändert werden kann und nicht, wie der Name des Projekts geändert werden soll. Wertvolle Informationen, aber nicht im Zusammenhang mit der Frage.
P. Hunter

0

Überprüfen Sie Ihr Projekt, indem Sie die gcloud-Konfigurationsliste ausführen. Dann setzt die gcloud-Konfiguration "Projektname".


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.