Использование ssh-agent с jenkins при опросе SCM

Я использую плагин Jenkins ssh-agent для того, чтобы дать ssh учетные данные моим сборкам, что прекрасно работает, однако я настроил его для опроса scm (в данном случае - bitbucket git) для проверки изменений.

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

Кажется, что для них так глупо не реализовывать это, в конце концов, если вам нужны ssh учетные данные для клонирования и сборки, вам также понадобятся их для опроса, верно?

4 ответа

Удаление парольной фразы из ключа SSH является недопустимым шагом.

Ожидается, что плагин jenkins ssh-agent решит эту проблему, но, насколько я могу судить, в настоящее время он не работает в том, что касается опроса:

https://issues.jenkins-ci.org/browse/JENKINS-21226

Начиная с версии Jenkins 1.545, я не нашел надежного и надежного средства для реализации взаимодействия с сервером на основе ssh, которое также охватывает опрос.

Предположим, что ваши Джобс работают на мастере Дженкинса. Чтобы иметь возможность выполнять опрос для Git-репо, для которого требуется соединение SSL:

  1. Сделайте резервную копию вашего закрытого ключа.
  2. Удалите фразу-пароль из вашего закрытого ключа, используя одно решение: как мне удалить фразу-пароль для ключа SSH без необходимости создания нового ключа?
  3. Добавьте секретный ключ без пароля на свой сервер Jenkins в домашнюю подпапку Jenkins home dir + .ssh fe для CEntOS, которая находится в /var/lib/jenkins/.ssh. Убедитесь, что только пользователь jenkins может получить доступ к этому ключу (используйте chmod 600 и chown jenkins:jenkins для этого).
  4. В диспетчере учетных данных Jenkins добавьте новый SSH-ключ с именем пользователя и укажите полное местоположение для только что настроенного личного ключа, например, /var/lib/jenkins/.ssh/id_rsa
  5. Настройте свое задание и укажите эти учетные данные для настроек репозитория Git и плагина агента SSH.

После этих шагов вы можете сделать опрос, чтобы вызвать Job, когда это необходимо, а также клонировать и извлечь из самого Job.

РЕДАКТИРОВАТЬ: Хотя приведенное ниже решение, очевидно, работает для комментатора по этому вопросу JIRA, это не для меня. Ваш пробег может отличаться.

На странице конфигурации вашей работы в разделе "Дополнительные действия" добавьте "Принудительный опрос с использованием рабочей области".

Кажется, был доступен с сентября 2014 года.

через https://issues.jenkins-ci.org/browse/JENKINS-21226?focusedCommentId=210643&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel

В самой информации о плагине git много информации о ключах SSH:

https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

По сути, вам нужно установить ключи на пользователя CI, от имени которого вы запускаете jenkins. (Плагин учетных данных SSH не интегрирован.)

Другие вопросы по тегам