jenkins
Установите Jenkins на Windows с поддержкой SSH для частных репозиториев GitHub
Поиск…
Неисправность запросов GitHub
Вне коробки установки Jenkins с плагинами Git и SSH не будут работать при попытке вытащить частный репозиторий из GitHub.
PSExec.exe PS Tool от Microsoft
Первым шагом для исправления этой проблемы я нашел загрузку PSTools и извлечение инструментов в удобное место на сервере сборки (например, c: \ Programs \ PSTools, там я извлек мой).
Создайте новый ключ SSH только для Jenkins, используя PSExec или PSExec64
- Сначала откройте командную строку и «Запуск от имени администратора».
- После открытия командной строки перейдите в каталог PSTools.
- Из командной строки нам нужно запустить git-bash с помощью PSExec или PSExec64 в качестве локальной службы, которую Jenkins запускает на сервере сборки по умолчанию.
- Мы будем использовать ключ -i для запуска PSExec в качестве интерактивного и -s для запуска git-bash в качестве локальной службы
- Следуйте инструкциям по созданию ssh-ключа в GitHub - Генерация нового ключа SSH и добавление его в ssh-agent
- Если вы находитесь в 64-битной системе Windows, скопируйте папку .ssh в C: \ Windows \ SysWOW64 \ config \ systemprofile.ssh (это не было необходимо для моей 64-битной системы Windows, но там, где некоторые инструкции, указывающие файлы .ssh следует хранить там, что-то иметь в виду, если у вас все еще есть проблемы).
- Добавьте общедоступный ключ SSH к вашим ключам github.
Your Commandline should look similar to this:
C:\Programs\PSTools> PSExec.exe -i -s C:\Programs\Git\git-bash
Создайте учетные данные Jenkins
Твердая часть закончилась! Теперь просто создайте учетные данные, которые будут использоваться в Jenkins. Используйте свое имя пользователя и парольную фразу, используемую для создания ключа SSH.
Это то, что теперь должно выглядеть (с вашим собственным реестром github и именем пользователя:
Запустите запрос на тест-тест, чтобы проверить его и выполнить.
Сохраните и запустите запрос на тест-драйв, и у вас больше не будет никаких проблем с тем, что Jenkins использует SSH на вашей машине для сборки Windows.