Come modificare il progetto in GCP usando i comandi CLI


224

Come posso cambiare l'attuale progetto in esecuzione con un altro progetto nell'account GCP ( Google Cloud Platform ) usando i comandi cli diversi dall'uso gcloud initmanuale.

$gcloud projects listelencherò i progetti in esecuzione sul mio account. Voglio cambiare il progetto corrente in qualsiasi altro progetto dalla lista usando un comando cli.

Risposte:


447
gcloud config set project my-project

È inoltre possibile impostare la variabile di ambiente $CLOUDSDK_CORE_PROJECT.


58
Aiuta a ottenere i nomi dei progetti con:gcloud projects list
sww314

16
E per verificare quale progetto è attualmente attivo, utilizzaregcloud config get-value project
Chris Halcrow l'

4
La cosa divertente è che cambio i miei progetti solo una o due volte al mese. Quindi ogni volta che devo cercarlo su Google e finire con questa risposta di nuovo e provare a dare un altro voto :-D
L.Butz

81

Assicurati di essere autenticato con l'account corretto:

gcloud auth list
* account 1
  account 2

Passare all'account del progetto in caso contrario:

gcloud config set account `ACCOUNT`

A seconda dell'account, l'elenco dei progetti sarà diverso:

gcloud projects list

- project 1
- project 2...

Passa al progetto previsto:

gcloud config set project `PROJECT ID`

24

Dovresti effettivamente usare l'ID del progetto e non il nome come implicano le altre risposte.

Esempio:

gcloud projects list

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

Poi:

gcloud config set project something-staging-2587

È anche la stessa cosa quando si usa solo la --projectbandiera con uno dei comandi:

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

Se si utilizza il nome, lo accetterà in silenzio, ma si verificheranno sempre problemi di connessione o autorizzazione quando si tenta di distribuire qualcosa al progetto.


10

La risposta selezionata non aiuta se non conosci il nome dei progetti che hai già aggiunto gcloud. Il mio flusso è di elencare i progetti attivi, quindi passare a quello che voglio.

gcloud config configurations list

gcloud config configurations activate [NAME]
dove [NOME] è elencato dal comando precedente.


6

Inoltre, se si utilizza più di un progetto e non si desidera impostare ogni volta un progetto globale, è possibile utilizzare Seleziona progetto .

Ad esempio: per connettere una macchina virtuale, denominata my_vmin un progetto denominato my_projectin Google Cloud Platform:

gcloud --project my_project calcolo ssh my_vm

In questo modo, puoi lavorare con più progetti e cambiarli facilmente inserendo semplicemente il flag di progetto . Puoi trovare molte più informazioni su altri flag GCP da qui .


4

Per quello che vale se hai più di una manciata di progetti, che faccio, uso:

gcloud init

Questo elencherà tutti i tuoi progetti e ti darà la possibilità di modificare le impostazioni del progetto corrente, aggiungere una nuova configurazione del progetto o cambiare:

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:

Ti chiederà sempre di accedere e visualizzare le opzioni per i diversi account Google che potresti avere.

Dato che gestisco più organizzazioni e progetti questo approccio mi permette di passare semplicemente da una all'altra.


3

Preferisco gli alias e, per le cose che potrebbero richiedere più comandi, in base alle esigenze del tuo progetto, preferisco le funzioni ...

Esempio

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

Controllare i progetti disponibili eseguendo: gcloud projects list. Questo ti darà un elenco di progetti a cui puoi accedere. Per passare da un progetto all'altro:gcloud config set project <project-id> .

Inoltre, consiglio di controllare la configurazione attiva prima di apportare qualsiasi modifica a gcloud config. Puoi farlo eseguendo:gcloud config list


1

Potrebbe essere che sono in ritardo per rispondere, ma questo comando mi ha fatto imparare molto sull'SDK di gcloud

gcloud alpha interactive

È più facile scoprire da soli che ti servirà gcloud config set project my-project.

La cosa migliore è la complicazione delle schede in modo da visualizzare l'elenco dei progetti premendo due volte la scheda.


1

Sto pubblicando questa risposta per fornire approfondimenti su diversi modi disponibili per modificare il progetto su GCP. Spiegherò anche quando utilizzare ciascuna delle seguenti opzioni.


Opzione 1: Cloud CLI - Imposta la proprietà del progetto su Cloud SDK sulla CLI

Utilizzare questa opzione, se si desidera eseguire tutti i comandi della CLI Cloud su un progetto specifico.

gcloud config set project <Project-ID>

Con ciò, il progetto selezionato su Cloud CLIcambierà e il progetto attualmente selezionato verrà evidenziato in giallo.

inserisci qui la descrizione dell'immagine


Opzione 2: CLI cloud: imposta il flag ID progetto con la maggior parte dei comandi

Utilizzare questo comando se si desidera eseguire comandi su più progetti. Ad esempio: creare cluster in un progetto e utilizzare le stesse configurazioni per creare un altro progetto. Utilizzare il seguente flag per ciascun comando.

--project <Project-ID>

Opzione 3: CLI cloud: inizializza le configurazioni nella CLI

Questa opzione può essere utilizzata se sono necessarie configurazioni separate per diversi progetti / account. Con questo, puoi facilmente passare da una configurazione all'altra usando il activatecomando Ad esempio: gcloud config configurations activate <congif-name>.

gcloud init

Opzione 4: apri il nuovo Cloud Shell con il tuo progetto preferito

Questo è preferito se non ti piace lavorare con i comandi CLI. Premi il PLUS +pulsante per una nuova scheda. inserisci qui la descrizione dell'immagine

Quindi, seleziona il tuo progetto preferito.

inserisci qui la descrizione dell'immagine


0

Aggiungo alias a .bash_alaises per passare a un altro progetto.

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

Ecco uno script per generare alias :) per tutti i progetti elencati. Aggiorna switch_proj ad alias di progetto unici che puoi ricordare.

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

0

Per aggiornare il progetto esistente a un altro progetto, è possibile utilizzare questa riga di comando:

aggiornamento dei progetti gcloud PROJECT_ID --name = NAME

NOME: sarà il nuovo nome del tuo progetto.


3
La domanda è su come cambiare l'attuale progetto di lavoro in un altro, non su come cambiare il nome del progetto. Informazioni preziose ma non correlate alla domanda.
P.hunter,

0

Controlla il tuo progetto eseguendo l'elenco di configurazione di gcloud Quindi imposta la configurazione di gcloud "nome progetto"


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.