Грустная история - git + ssh + ruby - PullRequest
1 голос
/ 16 февраля 2010

Проблема:

Мне нужно проверить свойства git репо (ключ ssh, URL репо) в ruby. Решения:

1) записать ключ ssh в файл ~/.ssh/id_rsa и выполнить команду git clone со свойством repo url - самый простой способ

  • вызывает условия гонки, когда несколько пользователей пытаются проверить свои репо.

2) записать ключ в любой файл и сервер ссылок и ввести в файл ssh.config, чтобы выполнить git по порядку

- ssh.config длина файла ограничена (255 записей)

3) добавить ключ через ssh-agent и выполнить git по порядку

  • ruby ​​не может обработать запрос парольной фразы (если ключ ssh защищен парольной фразой)

Резюме:

, поэтому мне нужно универсальное решение (например, ssh -i), которое простое в использовании, чистое, будет работать в многопоточной среде, и все ошибки могут обрабатываться с помощью базового ввода-вывода (exec и т. Д.)

1 Ответ

2 голосов
/ 16 февраля 2010

Возможно, вы могли бы использовать переменную окружения GIT_SSH, чтобы git использовал вашу собственную оболочку SSH. Этот скрипт может просматривать дополнительные переменные окружения и вызывать ssh с соответствующими параметрами.

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