Как я могу проверить несколько частных репозиториев Github с помощью Jenkins

У меня небольшая проблема с Jenkins и частными репозиториями Github. Чтобы проверить частное репо, обычно требуется одно из двух:

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

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

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

Пока что единственное решение, кажется:

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

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

5
задан Marc Seeger 11 January 2012 в 18:35
поделиться