Как установить закрытый ключ ssh для hudson / jenkins для доступа к bitbucket?

Я пытаюсь настроить сервер Debian с Apache2 в качестве интерфейса для Tomcat 7 под управлением Jenkins, который работает , но я хочу, чтобы Дженкинс контролировал частный репозиторий Mercurial, размещенный в bitbucket, и я хотел бы использовать SSH. (Я пробовал с простым https, но до сих пор нет радости - здесь есть ответ на вопрос, так что рекомендует использовать ssh)

я развернул Дженкинса, используя возможность горячего развертывания Tomcat, сбросив Дженкинса .War-файл в веб-приложения. Я могу создать пара открытого и закрытого ключей на сервере и добавила мой открытый ключ в учетную запись bitbucket - но как заставить Дженкинса использовать мой закрытый ключ для аутентификации при доступе к частному репозиторию на bitbucket?

Я видел сообщение в блоге, которое использует apt-get для установки Hudson на Debian, который создает пользователя Hudson (чтобы я мог добавить закрытый ключ для этого пользователя), но установка его через Tomcat autodeploy не добавляет пользователя Jenkins. Если для Jenkins нет пользователя unix, могу ли я настроить который Дженкинс использовал бы при проверке подлинности?

1 ответов


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

hg --ssh '/usr/bin/ssh -i /path/to/private/key' ...

в качестве альтернативы вы можете выяснить, какой пользователь Дженкинс работает как (это должно быть некоторые user) и поместите файл в~/.ssh даже если это /root/.ssh/