Намерение состоит в том, чтобы клонировать репозиторий git с использованием ключа S SH (настроенного в учетных данных Jenkins) в оболочке Execute.
Настройка Jenkins A. Добавленные учетные данные: Jenkins >> Credentials >> System >> Global учетные данные >> Добавить учетные данные. (ID: MYKEY_ID, Описание: mysshkeydescription, Имя пользователя: test, Закрытый ключ:) Б. Проект Freestyle, SCM: Репозиторий: git@mydomin.com: репозиторий / мой репозиторий. git, Credentails: (A) C. Выполнить оболочку: git clone git@mydomin.com: репозиторий / мой репозиторий. git
Клонирование git репозитория путем связывания учетных данных (S SH закрытый ключ пользователя) с использованием подключаемого модуля SCM. т.е. с (A) + (B)
Клонирование репозитория git в оболочке Execute с закрытым ключом пользователя S SH не работает, т.е. с (A) + (C) (1) работает с S SH закрытые ключи абстрагируются переменной окружения GIT_S SH (что мы можем наблюдать в журнале)
Fetching upstream changes from git@mydomin.com:repository/myrepository.git
> git --version # timeout=10
using GIT_SSH to set credentials mysshkeydescription
где, как и для (2) GIT_S SH не доступен для выполнения оболочки.
echo "MYKEY_ID : ${MYKEY_ID}"
>>> MYKEY_ID : ****
Можно ли использовать S SH ключи в оболочке Execute и получить репозиторий git?