google-cloud-platform - mac - google cloud sdk documentation
Cómo cambiar el proyecto en gcp usando comandos cli (8)
¿Cómo puedo cambiar el proyecto actual en ejecución a otro proyecto en la cuenta de GCP (
Google Cloud Platform
) usando
comandos cli que
no sean
gcloud init
manualmente?
$gcloud projects list
enumerará los proyectos que se ejecutan en mi cuenta.
Quiero cambiar el proyecto actual a cualquier otro proyecto de la lista usando un comando cli.
Además, si está utilizando más de un proyecto y no desea establecer un proyecto global cada vez, puede usar la marca de selección de proyecto .
Por ejemplo: para conectar una máquina virtual, llamada
my_vm
en un proyecto llamado
my_project
en Google Cloud Platform:
gcloud --project my_project compute ssh my_vm
De esta manera, puede trabajar con varios proyectos y cambiarlos fácilmente con solo poner la bandera del proyecto . Puede encontrar mucha más información sobre otros indicadores de GCP here .
Agrego alias a .bash_alaises para cambiar a un proyecto diferente.
alias switch_proj1="gcloud config set project ************"
Aquí hay un script para generar alias :) para todos los proyectos enumerados. Actualice switch_proj a alias de proyecto únicos que pueda recordar.
gcloud projects list | awk ''{print "alias switch_proj=/"gcloud config set project " $1 "/""}''
Asegúrese de estar autenticado con la cuenta correcta:
gcloud auth list
* account 1
account 2
Cambie a la cuenta del proyecto si no:
gcloud config set account `ACCOUNT`
Dependiendo de la cuenta, la lista de proyectos será diferente:
gcloud projects list
- project 1
- project 2...
Cambiar al proyecto previsto:
gcloud config set project `PROJECT NAME`
En realidad, debe usar la ID del proyecto y no el nombre, como implican las otras respuestas.
Ejemplo:
gcloud projects list
PROJECT_ID NAME PROJECT_NUMBER
something-staging-2587 something-staging 804012817122
something-production-24 something-production 392181605736
Entonces:
gcloud config set project something-staging-2587
También es lo mismo cuando se usa solo la bandera
--project
con uno de los comandos:
gcloud --project something-staging-2587 compute ssh my_vm
Si usa el nombre, lo aceptará silenciosamente, pero siempre obtendrá problemas de conexión o permisos cuando intente implementar algo en el proyecto.
La respuesta seleccionada no ayuda si no conoce el nombre de los proyectos que ya ha agregado gcloud. Mi flujo es enumerar los proyectos activos, luego cambiar al que quiero.
gcloud config configurations list
gcloud config configurations activate [NAME]
donde [NOMBRE] aparece en la lista del comando anterior.
Por lo que vale la pena si tiene más de un puñado de proyectos, lo que hago, use:
gcloud init
Esto enumerará todos sus proyectos y le dará la opción de cambiar la configuración actual del proyecto, agregar una nueva configuración de proyecto o cambiar:
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:
Siempre le pedirá que inicie sesión y muestre opciones para las diferentes cuentas de Google que pueda tener.
Dado que administro múltiples organizaciones y proyectos, este enfoque me permite simplemente cambiar entre ellos.
Prefiero los alias, y para cosas que pueden necesitar múltiples comandos, en función de las necesidades de su proyecto, prefiero las funciones ...
Ejemplo
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
}
gcloud config set project my-project
También puede establecer la variable de entorno
$CLOUDSDK_CORE_PROJECT
.