Наша задача сборки на Jenkins выполняется как часть релиза, создавая некоторые команды git, такие как git push и git pull, поэтому требуется способ запуска аутентифицированных команд git из оболочки во время сборки.Используйте SSH-ключ от Jenkins Git Plugin для запуска команд Git во время сборки
Наши ведомые устройства jenkins не имеют никаких учетных данных, поскольку они представляют собой одноразовые контейнеры докеров, которые создаются для каждой сборки.
Плагин git управляет этим с помощью учетных данных Jenkins и «как-то» устанавливает GIT_SSH для получения закрытого ключа, который настроен через учетные данные.
Я проверил исходный код и попытался определить, как я могу настроить переменную, чтобы я мог запускать, например, git pull в качестве скрипта SSH как часть сборки. Безуспешно.
Есть ли способ запустить команду git как часть шагов сборки с использованием учетных данных Jenkins?
Мое настоящее решение состоит в том, чтобы скопировать SSH-ключ в подчиненное устройство как часть настройки среды сборки, но похоже на дублирующую работу (плюс потенциальная проблема безопасности).
Вы можете добавить открытый ключ ведомого устройства в github через командную строку? –
каждый подчиненный - это одноразовый контейнер-докер, у которого нет ключа SSH, или любая настройка для поддержки этого будет сложнее, чем копия, которую я делаю в тот момент, когда думаю. –