В настоящее время я пытаюсь настроить CI-сервер Jenkins в Azure, который извлекает проект из Bitbucket и запускает тесты. CI-сервер работает под управлением Ubuntu 14.10.
Я запустил сервер и сгенерировал ssh-ключи с помощью ssh-keygen (без ключевой фразы) и добавил открытый ключ в Bitbucket под ключами развертывания. Если я наберу ssh -T hg@bitbucket.org как пользователь jenkins во время сеанса SSH через консоль, я получу:
ssh -T hg@bitbucket.org
authenticated via a deploy key
You can use git or hg to connect to Bitbucket. Shell access is disabled.
Я также могу сделать клон проекта из Bitbucket, так как ключ SSH работает в командной строке. Однако, когда я иду, чтобы добавить новую сборку через панель управления Jenkins (Configure). Я добавляю учетные данные GIT следующим образом:
Repository URL: git@bitbucket.org:name/project_name.git
Credentials: the private key in /var/lib/jenkins/.ssh/id_rsa
Я получаю ошибку
Failed to connect to repository : Command "git ls-remote -h git@bitbucket.org:name/project_name.git HEAD" returned status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.
При попытке собрать я получаю ту же ошибку, что и выше. Любая подсказка, что я могу делать здесь не так? Насколько мне известно, Jenkins использует пользователя "jenkins", если не указано иное, и это пользователь, которого я использую в командной строке при получении "аутентификации с помощью ключа развертывания".
Спасибо за ответы на все вопросы :)