Как изменить аутентификацию gcloud по каталогам - PullRequest
0 голосов
/ 03 марта 2020

У меня есть два проекта, использующих GCP с разными учетными записями Google.

$ gcloud auth list
    Credentialed Accounts
ACTIVE  ACCOUNT
        example1@gmail.com
*       example2@gmail.com

В настоящее время я использую команду gcloud config set account каждый раз, когда меняю свои проекты. Это немного раздражает.

Есть ли способ автоматического изменения учетной записи Google, когда я меняю каталог, например nodenv или rbenv?

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Можно создать несколько конфигураций, а затем автоматизировать переключение конфигурации.

Управление конфигурациями SDK

Конфигурация - это именованный набор свойств SDK. Эти свойства являются парами ключ-значение, которые определяют поведение инструмента командной строки gcloud и других инструментов SDK.

Чтобы упростить изменение конфигурации, вы можете использовать такие инструменты, как direnv и ondir для автоматического переключения между конфигурациями при переключении рабочих каталогов. Один из способов сделать это - установить необходимые переменные среды (например, CLOUDSDK_ACTIVE_CONFIG_NAME) в файле .envr c в каталоге root вашего проекта.

0 голосов
/ 03 марта 2020

Я искал возможность использования фонового скрипта, такого как:

#!/bin/bash
while true
do

    case $(pwd) in 
"/home/dir1") 
gcloud config set account user1@test.com
echo “changed to user 1”;;
"/home/dir2") 
gcloud config set account user2@test.com
echo “changed to user 2”;;

esac
    sleep 100
done 

, затем chmod +x my_script.sh и запускаю с использованием disown для отправки в фон

./my_script.sh & disown

Однако лучшим подходом здесь было бы использование псевдонимов

, например:

alias cd1='cd ~/dir1; echo "changing to dir1"; gcloud config set account user1@test.com'
alias cd2='cd ~/dir1; echo "changing to dir2"; gcloud config set account user2@test.com'

, таким образом, вы можете использовать команды cd1 и cd2 для изменения каталога и установки соответствующего пользователя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...