Менеджер учетных данных

Менеджер учетных данных#

Для запуска используйте gsf-cli\credential_manager.cmd или gsf-cli/credential_manager.sh. Используется для управления паролями для доступа к репозиторию

Commands:#

usage: credential_manager.py [-h] cmd ...

positional arguments:
  cmd         Команды
    full_help
              Распечатать справку
    get       Загрузить конфигурацию
    show      Отобразить учетные данные
    git       git credential-helper
    set       Задать учетные данные по протоколу

options:
  -h, --help  show this help message and exit

Full_help#

usage: credential_manager.py full_help [-h]

options:
  -h, --help  show this help message and exit

Get#

usage: credential_manager.py get [-h] [-u U]

Получает учетные данные для заданного url.
Учетные данные предоставляются в поток вывода в формате json

options:
  -h, --help  show this help message and exit
  -u U        url для которого надо получить учетные данные

Show#

usage: credential_manager.py show [-h] [--reveal]

Отображает сохраненные учетные данные. Пароли по умолчанию скрыты.

options:
  -h, --help  show this help message and exit
  --reveal    Показать пароли в открытом виде

Команда show выводит пароль как ********. Параметр --reveal используйте только в локальной консоли. Не запускайте show --reveal в CI и не сохраняйте его вывод в лог.

Git#

usage: credential_manager.py git [-h] command

Реализует credential-helper для git

positional arguments:
  command

options:
  -h, --help  show this help message and exit

Set#

usage: credential_manager.py set [-h] -u URL -l LOGIN (-p PASSWORD |
                                 --password-stdin)

Задает учетные данные для URL и вложенных путей на том же хосте.
Для CI используйте --password-stdin, чтобы пароль не передавался в аргументах процесса.

options:
  -h, --help            show this help message and exit
  -u, --url URL         Url для которого надо задать учетные данные
  -l, --login LOGIN     Имя пользователя
  -p, --password PASSWORD
                        Пароль
  --password-stdin      Прочитать пароль из стандартного потока ввода

Пример для CI:

printf '%s' "$REPOSITORY_TOKEN" | credential_manager.sh set \
  --url "$REPOSITORY_URL" \
  --login "$REPOSITORY_LOGIN" \
  --password-stdin

Использование для Git#

Сохраните учетные данные один раз для базового адреса Git-сервера:

printf '%s' "$GIT_TOKEN" | credential_manager.sh set \
  --url "<Базовый адрес Git-сервера>" \
  --login "build-user" \
  --password-stdin

Запись для базового адреса используется для всех вложенных путей с теми же протоколом, хостом и портом. Похожий адрес другого хоста не считается совпадением. GSF CLI подключает внутренний Git credential helper автоматически. Команда git и файлы bin/credential_manager_git.sh, bin/credential_manager_git.cmd предназначены для вызова из Git и не требуют ручной настройки.

Для другого хоста создайте отдельную запись. После смены токена повторите команду set с тем же URL.