Как настроить Гудзон и плагин мерзавца с ключом SSH

У меня есть Гудзон (непрерывная система интеграции) с работой плагина мерзавца службы Windows Tomcat. msysgit установлен, и msysgit dir мусорного ведра находится в пути. ШПАКЛЕВКА/ТЕАТРАЛИЗОВАННОЕ ПРЕДСТАВЛЕНИЕ/ЗВОН установлена, и msysgit настроен для использования их.

Когда я выполняю задание, которое пытается клонировать репозиторий мерзавца, я получаю следующую ошибку:

$ git clone -o origin git@hostname:project.git "e:\HUDSON_HOME\jobs\Project Trunk\workspace" 
ERROR: Error cloning remote repo 'origin' : Could not clone git@hostname:project.git 
ERROR: Cause: Error performing git clone -o origin git@hostname:project.git e:\HUDSON_HOME\jobs\Project Trunk\workspace 
Trying next repository 
ERROR: Could not clone from a repository 
FATAL: Could not clone 
hudson.plugins.git.GitException: Could not clone 
  1. Рабочий клон мерзавца-o источник git@hostname:project.git "e:\HUDSON_HOME\jobs\Project Trunk\workspace" из командной строки работает без ошибки.
  2. Я подтвердил, что моей проблемой не является то же как Гудзонская ошибка клона мерзавца, потому что мерзавец находится в пути, и я не получаю ошибки об исполняемом файле мерзавца на странице Configure System Гудзона.

Это приводит меня полагать, что проблема состоит в том, что у пользователя, который владеет службой Windows Tomcat/Гудзона (Локальная Система) нет набора ключей SSH, чтобы смочь клонировать репозиторий мерзавца.

Мой вопрос, как я могу настроить вещи так, чтобы мерзавец plugin/msysgit знал для использования конкретного ключа SSH при попытке клонироваться? Я не думаю, что Театрализованное представление будет работать, потому что услуга Tomcat работает как "Локальная Система" пользователь, но я могу быть неправым. Я попробовал установку Pageant как услуга (использующий runassvc.exe), передав соответствующий ключ, и выполнив его как "Локальная Система". Сервис Tomcat/Гудзона, кажется, не может видеть ключ от сервиса театрализованного представления. Есть ли какие-либо другие методы для установки ключа?

Спасибо.

Править: Обсуждение http://n4.nabble.com/Hudson-with-git-and-ssh-td375633.html показывает, что у кого-то еще был подобный вопрос. ssh-агент был предложен, и этот инструмент идет с msysgit, но я не уверен, как использовать его в сочетании с Гудзонским сервисом. Однако, хорошая подсказка, если кто-либо может заполнить разрывы. Благодаря Peter для комментария со ссылкой.

Кроме того, обсуждение http://n4.nabble.com/questions-about-git-and-github-plug-ins-td383420.html начинается с тем же вопросом. Я пытаюсь возродить тот поток.

15
задан Community 23 May 2017 в 12:00
поделиться

1 ответ

Мы используем Hudson, проверяя исходный код из git с помощью ssh-ключа. Однако на самом деле Hudson у нас стоит на сервере ubuntu. Пара ssh-ключей Hudson находится в ~hudson/id_rsa и ~hudson/id_rsa.pub

Итак, адаптируем наши советы для установки Windows:

Разработчики под Windows в нашей команде используют MSysGit и регулярно проверяют код через git по ssh - но не используя Putty/Pageant. Мы обнаружили, что Pageant был болезненным из-за некоторых протокольных ошибок при входе в систему. Вместо этого они настроили git на использование openSSH (это одна из опций при установке). Их пара открытый/закрытый ключ живет в ~username/id_rsa и ~username/id_rsa.pub, и все работает.

Итак, я бы рекомендовал изменить конфигурацию git, чтобы использовать OpenSSH, а не pageant. В противном случае вам не нужно будет беспокоиться о запуске pageant.

Вы можете использовать PuttyGen для генерации ключа. Однако, если вы используете OpenSSH, а не pageant, вам нужно будет экспортировать подходящий закрытый ключ (из одного из меню в верхней части PuttyGen) и сохранить его как id_rsa, а также скопировать и вставить открытый ключ из графического интерфейса PuttyGen (он показывает, но не сохраняет подходящую версию для OpenSSH) и сохранить его как id_rsa.pub. Это потому, что Putty использует немного другой формат для ключа, чем OpenSSH.

В качестве альтернативы, конечно, вы всегда можете разместить свой сервер hudson на сервере ubuntu (реальном или через VirtualBox)

.
6
ответ дан 1 December 2019 в 04:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: