Como alterar o projeto no GCP usando comandos da CLI

221

Como posso alterar o projeto atual em execução para outro projeto na conta do GCP ( Google Cloud Platform ) usando comandos cli que não sejam gcloud initmanualmente.

$gcloud projects listlistará os projetos em execução na minha conta. Quero alterar o projeto atual para qualquer outro projeto da lista usando um comando cli.

Ebin Davis
fonte

Respostas:

444
gcloud config set project my-project

Você também pode definir a variável de ambiente $CLOUDSDK_CORE_PROJECT.

Zachary Newman
fonte
58
Ajuda a obter os nomes dos projetos com:gcloud projects list
sww314 17/08/18
16
E para verificar qual projeto está atualmente ativa, usogcloud config get-value project
Chris Halcrow
4
O engraçado é que só troco meus projetos uma ou duas vezes por mês. Então, toda vez que eu tenho que pesquisar no google e acabar com essa resposta novamente e tentar fazer outra
votação positiva
79

Verifique se você está autenticado com a conta correta:

gcloud auth list
* account 1
  account 2

Mude para a conta do projeto, se não:

gcloud config set account `ACCOUNT`

Dependendo da conta, a lista de projetos será diferente:

gcloud projects list

- project 1
- project 2...

Alterne para o projeto pretendido:

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

Você realmente deve usar o ID do projeto e não o nome, como as outras respostas sugerem.

Exemplo:

gcloud projects list

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

Então:

gcloud config set project something-staging-2587

Também é a mesma coisa ao usar apenas a --projectbandeira com um dos comandos:

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

Se você usar o nome, ele será aceito silenciosamente, mas sempre haverá problemas de conexão ou permissão ao tentar implantar algo no projeto.

devius
fonte
9

A resposta selecionada não ajuda se você não souber o nome dos projetos que você adicionou ao gcloud. Meu fluxo é listar os projetos ativos e depois mudar para o que eu quero.

gcloud config configurations list

gcloud config configurations activate [NAME]
onde [NAME] está listado no comando anterior.

Scott
fonte
6

Além disso, se você estiver usando mais de um projeto e não quiser definir um projeto global toda vez, poderá usar o sinalizador de seleção de projeto .

Por exemplo: para conectar uma máquina virtual, nomeada my_vmem um projeto nomeado my_projectno Google Cloud Platform:

gcloud --projeto meu_projeto calcule ssh my_vm

Dessa forma, você pode trabalhar com vários projetos e alterar entre eles facilmente, basta colocar o sinalizador do projeto . Você pode encontrar muito mais informações sobre outros sinalizadores do GCP aqui .

alpay
fonte
4

Para que vale a pena se você tiver mais de um punhado de projetos, o que eu faço, use:

gcloud init

Isso listará todos os seus projetos e lhe dará a opção de alterar as configurações atuais do projeto, adicionar uma nova configuração ou alternar:

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:

Ele sempre solicitará que você faça login e exiba opções para diferentes contas do Google que você possa ter.

Como gerencio várias organizações e projetos, essa abordagem permite que eu simplesmente alterne entre elas.

hoos
fonte
3

Prefiro aliases e, para coisas que podem precisar de vários comandos, com base nas necessidades do seu projeto, prefiro funções ...

Exemplo

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
fonte
1

Confira os projetos disponíveis executando: gcloud projects list. Isso fornecerá uma lista de projetos que você pode acessar. Para alternar entre os projectos: gcloud config set project <project-id>.

Além disso, recomendo verificar a configuração ativa antes de fazer qualquer alteração na configuração do gcloud. Você pode fazer isso executando:gcloud config list

PanwarS87
fonte
1

Pode ser que eu esteja atrasado para responder, mas esse comando me fez aprender muito sobre o SDK do gcloud

gcloud alpha interactive

É mais fácil descobrir por si mesmo que você precisará gcloud config set project my-project.

O que é melhor é a complicação de tabulação, para que você veja a lista de projetos pressionando tab duas vezes.

confiq
fonte
1

Estou postando esta resposta para fornecer informações sobre várias maneiras disponíveis para você alterar o projeto no GCP. Também explicarei quando usar cada uma das seguintes opções.


Opção 1: Cloud CLI - Definir propriedade do projeto no Cloud SDK na CLI

Use esta opção, se desejar executar todos os comandos do Cloud CLI em um projeto específico.

gcloud config set project <Project-ID>

Com isso, o projeto selecionado Cloud CLIserá alterado e o projeto atualmente selecionado será destacado em amarelo.

insira a descrição da imagem aqui


Opção 2: Cloud CLI - Defina o sinalizador de ID do projeto com a maioria dos comandos

Use este comando se desejar executar comandos em vários projetos. Por exemplo: crie clusters em um projeto e use as mesmas configurações para criar em outro projeto. Use o seguinte sinalizador para cada comando.

--project <Project-ID>

Opção 3: CLI na nuvem - inicialize as configurações na CLI

Esta opção pode ser usada se você precisar de configurações separadas para diferentes projetos / contas. Com isso, você pode alternar facilmente entre configurações usando o activatecomando Por exemplo: gcloud config configurations activate <congif-name>.

gcloud init

Opção 4: abra o novo Cloud Shell com seu projeto preferido

É preferível se você não gosta de trabalhar com comandos da CLI. Pressione o PLUS +botão para uma nova guia. insira a descrição da imagem aqui

Em seguida, selecione seu projeto preferido.

insira a descrição da imagem aqui

Keet Sugathadasa
fonte
0

Eu adiciono aliases ao .bash_alaises para mudar para um projeto diferente.

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

Aqui está um script para gerar aliases :) para todos os projetos listados. Atualize o switch_proj para aliases exclusivos do projeto que você se lembra.

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

Para atualizar seu projeto existente para outro projeto, você pode usar esta linha de comando:

Atualização dos projetos gcloud PROJECT_ID --name = NAME

NOME: será o novo nome do seu projeto.

BackToReal
fonte
3
A questão é sobre como alterar o projeto de trabalho atual para outro, não sobre como alterar o nome do projeto. Informações valiosas, mas não relacionadas à pergunta.
26919 P.hunter
0

Verifique seu projeto executando a lista de configurações do gcloud. Em seguida, o conjunto de configurações do gcloud "nome do projeto"

Amir ElGammal
fonte
0

Você pode tentar: gcloud config set project [project_id]

Fabián García
fonte