Как я могу оформить несколько частных репозиториев Github с помощью Jenkins? - PullRequest
5 голосов
/ 11 января 2012

У меня небольшая проблема с Jenkins и частными репозиториями Github.Для проверки частного репо обычно требуется одна из двух вещей:

  • закрытый ключ SSH пользователя в этом репо
  • закрытый ключ SSH зарегистрированного "ключа развертывания"для этого репозитория

Ключ развертывания был создан для такого взаимодействия.Проблема в том, что ключи развертывания должны быть уникальными в разных проектах, поэтому мне придется каждый раз использовать разные ключи.Это означает, что мне нужно будет добавить еще один ключ к ssh-agent для пользователя Jenkins для каждого дополнительного репо.
Это также означает, что по умолчанию агент попытается использовать все доступные ключи и, вероятно, получит соединениеупал после нескольких неудачных попыток с неправильным ключом.

Плагин Jenkins git, похоже, не позволяет указывать его на ключ SSH.Дженкинс не разрешает взаимодействие с командной строкой до оформления заказа, поэтому я не могу использовать какие-либо приемы bash для установки правильного ключа.

Пока что единственное решение выглядит следующим образом:

  1. Создание пользователя "my_jenkins_account" в github
  2. Добавление открытого ключа для пользователя
  3. Добавить учетную запись в репозитории, которые я хотел бы проверить с помощью Jenkins
  4. Добавить закрытый ключ пользователя для пользователя jenkins

Есть альтернативные предложения?

1 Ответ

13 голосов
/ 01 февраля 2012

Это не совсем ответ, просто эхо в темноте, чтобы вы знали, что я делаю то же самое.

  1. Запустите Jenkins от имени пользователя jenkins
  2. sudo как этот пользователь и создайте открытый ключ ssh
  3. Создайте бесплатную учетную запись GitHub с именем myorg-machines
  4. Добавьте открытый * ssh-ключ пользователя jenkins к myorg-machines ключи аккаунта на GitHub.Я называю этот ключ jenkins on server.name.com, чтобы все было организовано.
  5. Создайте команду GitHub с именем Machines - Pull only.Добавьте в эту группу пользователя myorg-machines GitHub и предоставьте этой группе доступ к моим соответствующим личным репозиториям.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...