спосіб автоматизації клонування сховищ git


1

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

Команда клонування виглядає так:

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

але їх дуже багато, і пропуск пароля після кожного з них справді дратує і забирає багато часу.

Що я намагаюся зробити - це автоматично передавати пароль для клонування команди. Я намагався додати userA: passwordA @ git-ger .... але він працює лише для HTTPS, а не ssh. Я знаю, що мені потрібно перейти на деякі автоматичні інструменти, такі як ansible, щоб зробити автоматичне розгортання, але мені знадобилося багато часу, щоб переписати весь процес створення.

Моє запитання - як я можу автоматично передати пароль для клонування репо, не змінюючи нічого на сервері. В ідеалі було б зробити це з рівня башти. Я намагався читати рядки після введення git-клону, але це також не спрацювало для мене. Будь-яка допомога буде вдячна


можна спробувати sshpass. Він повинен працювати і для вашого випадку використання.
Jakuje

Відповіді:


1

Найкраще рішення 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.