Не нашел данной информации тут, так что скорее всего тема будет полезной.
Есть две машины в одной сетке - на одной стоит гит сервер (G), на другой jenkins (J). Задача - нужно создать job на сборку проекта.
User на J может соединяться через ssh к машине G и через sshkey (User@ubuntu) к гиту на G.
В Jenkins установлены плагины git и ssh.
JENKINS_USER = User, т.е. JENKINS_HOME (/var/lib/jenkins…log…cache) принадлежит User.
Работает:
Shell команда git clone в /home/User/git (через sshkey).
Shell навигация по директориям.
Не работает:
Git plugin - выдает ошибку при попытке проверке соединения к git@IP:/home/git/Test.git (ssh User + key)
Failed to connect to repository : Command "git ls-remote -h git@IP:/home/git/Test.git HEAD" returned status code 128:
stdout:
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
При этом git ls-remote -h git@IP:/home/git/Test.git в командной строке, выдает список веток проекта.
Нужны рекомендации по диагностике проблемы) Заранее спасибо.
Значит неправильно добавлен, permission denied / cannot read from remote repository - говорит о том, что дженкинсу не хватает прав, чтобы вытащить исходники из репозитория.
я там выбираю git - добавляю метод авторизации - Username and ssh key - присваиваю имя User и вставляю ключик в поле из файла id_rsa.pub. Где может быть подвох?
Ключ /home/User/.ssh/id_rsa.pub через ssh keygen. При этом все git команды через shell в дженкинсе работают нормально, а плагин почему-то ругается. В сам jenkins я его копипастил.
Спасибо за ответы, проблема решилась в итоге с помощью подключения через UsernamePassword.
Конфиг файл, ключу тоже не помог. При попытке соединения через UsernamePassword, ошибка была в том, что я пытался подключиться к user@/home/git/project.git вместо git@/home/git/project.git.