2016-09-22 2 views
1

Наша задача сборки на Jenkins выполняется как часть релиза, создавая некоторые команды git, такие как git push и git pull, поэтому требуется способ запуска аутентифицированных команд git из оболочки во время сборки.Используйте SSH-ключ от Jenkins Git Plugin для запуска команд Git во время сборки

Наши ведомые устройства jenkins не имеют никаких учетных данных, поскольку они представляют собой одноразовые контейнеры докеров, которые создаются для каждой сборки.

Плагин git управляет этим с помощью учетных данных Jenkins и «как-то» устанавливает GIT_SSH для получения закрытого ключа, который настроен через учетные данные.

Я проверил исходный код и попытался определить, как я могу настроить переменную, чтобы я мог запускать, например, git pull в качестве скрипта SSH как часть сборки. Безуспешно.

Есть ли способ запустить команду git как часть шагов сборки с использованием учетных данных Jenkins?

Мое настоящее решение состоит в том, чтобы скопировать SSH-ключ в подчиненное устройство как часть настройки среды сборки, но похоже на дублирующую работу (плюс потенциальная проблема безопасности).

+0

Вы можете добавить открытый ключ ведомого устройства в github через командную строку? –

+0

каждый подчиненный - это одноразовый контейнер-докер, у которого нет ключа SSH, или любая настройка для поддержки этого будет сложнее, чем копия, которую я делаю в тот момент, когда думаю. –

ответ

-1

Если вы используете общий доступ к учетным данным через git, попробуйте выполнить git client plugin, но если вы действительно хотите просто делить/хранить учетные данные, подумайте об использовании credentials plugin или чего-нибудь подобного.

Обратите внимание, что вы также можете запустить сценарий оболочки «после установки», который может выполнять любые команды, необходимые для выполнения на машине.

+0

Я не думаю, что получаю, плагины не помогут вопрос упомянутый. Сценарий оболочки - это то, что я делаю в данный момент с копией (ну, а не сценарий оболочки, но шаг среды сборки). –

Смежные вопросы