Как войти в репозиторий git bitbucket от Дженкинса - PullRequest
3 голосов
/ 25 октября 2011

У меня есть GIT-репозиторий в bitbucket, к которому я хочу, чтобы мой сервер Jenkins получал автоматический доступ. Это возможно только при использовании аутентификации с открытым / закрытым ключом. Поэтому я создал пару ключей и загрузил открытый ключ в bitbucket. Открытый и закрытый ключи находятся на моем сервере в папке .ssh пользователя tomcat, на котором работает jenkins. Я могу клонировать свой проект, когда я вошел в систему как этот пользователь на сервере.

Однако я не могу заставить Дженкинса действительно проверить код из bitbucket. Это всегда говорит:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

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

Host bitbucket.org
    IdentityFile ~/.ssh/id_dsa

Я так и сделал, но как только я предоставлю этот файл, я больше не смогу клонировать репозиторий из bitbucket. Даже не напрямую с сервера, получая то же сообщение об ошибке, как показано выше.

Кому-нибудь удалось заставить эту настройку работать? Я также прочитал следующую ветку здесь о stackoverflow, которая была бесполезна для меня: Как установить частный ключ ssh для доступа hbuson / jenkins к bitbucket? , и я проверил, что tomcat действительно работает под пользователем tomcat6, создать пустой тестовый проект, который просто запускает "whoami". Так что у меня почти нет идей для решения проблемы.

Ответы [ 2 ]

4 голосов
/ 25 октября 2011

Указание IdentityFile в вашей конфигурации не меняет необходимость указания пароля для ключа ssh.Это было бы зияющей дырой в безопасности, если бы это случилось.Единственный способ не требовать ввода пароля для вашего ключа ssh - это если ваш ключ ssh не имеет пароля.

Итак, вам следует создать ключ ssh специально для вашего экземпляра jenkins и, еслиBitbucket позволяет, только для чтения, доступ к вашему хранилищу для этого ключа.

1 голос
/ 08 апреля 2015

Это может быть связано с https://issues.jenkins -ci.org / browse / JENKINS-20879 Использование ключа без ключевой фразы работает для меня.

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