1

Мне нужно клонировать несколько репозиториев на виртуальных машинах, а затем создавать на них программное обеспечение. У меня довольно хороший скрипт сборки, но есть одна проблема. Перед сборкой необходимо клонировать несколько репозиториев, и после некоторых обновлений безопасности мне не разрешается добавлять мой открытый ключ на git server, а также поддерживается только протокол ssh.

Команда клонирования выглядит следующим образом:

git clone ssh://userA@git-ger-XXX.com:YYYY/repoB

но их много, и передача пароля после каждого из них действительно раздражает и отнимает много времени.

То, что я пытаюсь сделать, это автоматически передать пароль клонировать команду. Я пытался добавить userA:passwordA @ git-ger .... но он работает только для HTTPS, а не ssh. Я знаю, что мне нужно переключиться на некоторые автоматические инструменты, такие как ansible, чтобы сделать автоматическое развертывание, но мне потребовалось много времени, чтобы переписать весь процесс сборки.

У меня вопрос, как я могу автоматически передать пароль для клонирования репо, ничего не меняя на сервере. В идеале было бы сделать это с уровня bash. Я пытался читать строки после ввода git clone, но у меня это тоже не получалось. Любая помощь будет оценена

1 ответ1

0

IMO лучшее решение - использовать пользовательский помощник GIT_ASKPASS и предоставить пароль в качестве другой переменной среды. Так, например, создайте файл git-askpass-helper.sh как:

#!/bin/sh
exec echo "$GIT_PASSWORD"

и затем запустите git clone https://username@hostname/repo с переменными среды GIT_ASKPASS=/path/to/git-askpass-helper.sh и GIT_PASSWORD=nuclearlaunchcodes .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .