493 votes

Comment changer le projet dans GCP en utilisant les commandes CLI

Comment puis-je changer le projet en cours d'exécution en un autre projet dans GCP ( Plate-forme Google Cloud ) en utilisant Commandes cli autre que l'utilisation gcloud init manuellement.

$gcloud projects list énumérera les projets en cours sur mon compte. Je veux changer le projet actuel en n'importe quel autre projet de la liste en utilisant une commande cli.

960voto

Zachary Newman Points 5843
gcloud config set project my-project-id

Vous pouvez également définir la variable d'environnement $CLOUDSDK_CORE_PROJECT .

132 votes

Cela aide à obtenir les noms des projets avec : gcloud projects list

71 votes

Et pour vérifier quel projet est actuellement actif, utilisez gcloud config get-value project

25 votes

Le plus drôle, c'est que je ne change de projet qu'une ou deux fois par mois. Donc, à chaque fois, je dois chercher sur Google et je me retrouve à nouveau sur cette réponse pour essayer de lui donner une autre note positive :-D

164voto

EnchanterIO Points 2135

Assurez-vous que vous êtes authentifié avec le bon compte :

gcloud auth list
* account 1
  account 2

Sinon, passez au compte du projet :

gcloud config set account `ACCOUNT`

En fonction du compte, la liste des projets sera différente :

gcloud projects list

- project 1
- project 2...

Passez au projet prévu :

gcloud config set project `PROJECT ID`

40voto

devius Points 1576

Vous devez en fait utiliser l'ID du projet et non le nom comme le laissent entendre les autres réponses.

Ejemplo:

gcloud projects list

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

Ensuite :

gcloud config set project something-staging-2587

C'est également la même chose lorsque l'on utilise uniquement la fonction --project avec l'une des commandes :

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

Si vous utilisez le nom, il l'acceptera silencieusement, mais vous obtiendrez toujours des problèmes de connexion ou de permission lorsque vous tenterez de déployer quelque chose dans le projet.

12voto

alpay Points 163

De plus, si vous utilisez plus d'un projet et que vous ne veulent pas définir le projet global à chaque fois, vous pouvez utiliser choisir le projet drapeau.

Par exemple : pour connecter une machine virtuelle, nommée my_vm sous un projet nommé my_project dans Google Cloud Platform :

gcloud --projet mon_projet compute ssh mon_vm

De cette façon, vous pouvez travailler avec plusieurs projets et passer de l'un à l'autre facilement en mettant simplement projet drapeau. Vous pouvez trouver beaucoup plus d'informations sur les autres drapeaux GCP à partir de aquí .

3voto

mamdouh alramadan Points 4199

Je préfère les alias, et pour les choses qui pourraient nécessiter plusieurs commandes, en fonction des besoins de votre projet, je préfère les fonctions...

Exemple

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
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X