Сontinuous integration jenkins. permission denied при выполнении builda. почему не клонируется с гита?
Есть ubunta на которой jenkins, этот комп подключается к серверу оттуда к гиту выкачивает с гита свежий build.xml и запускает его в phing. Ломается при выполнении phinga. точнее при клонировании репозитория.
В настройках joba указал git c кредентиалсами, agent forwarding в ubunte включил агент форвардинг, в профиль баша добавил скрипт чтобы добавлялись ключи в агент. ключи верные. хз уже что попробовать.
Если проделать все в ручную все работает
Надежнее настроить ~jenkins/.ssh/config и ~/jenkins/.gitconfig, если у вас jenkins запускается от юзера jenkins
Не забывайте, что профиль баша не всегда используется, например jenkins запускается как демон, а не как процесс из баша, и при его запуске башевский профиль не выполняется.
"Есть ubunta на которой jenkins, этот комп подключается к серверу оттуда к гиту"
на том сервере, на котором выполняется запрос к гиту, все настроено через .ssh/config и .gitconfig?
конфиг должен быть настроен там, где выполняется git clone
Вы же сказали, что дженкинс подключается к удаленному компьютеру (то есть ноде), и уже на нем собирает проект? Откуда удаленный компьютер знает как авторизироваться?
Hland: Ну тут однозначно он не может выполить авторизацию. У вас вручную точно получается?
То есть вы можете зайти на этот удаленный сервер и там git clone работает?
FooBar > coreClone:
[0m
[01;31mExecution of target "coreClone" failed for the following reason: The remote end hung up unexpectedly [wrapped: Some errors in executing git command
Output:
Error:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
][0m
[01;31m
BUILD FAILED
The remote end hung up unexpectedly [wrapped: Some errors in executing git command
Output:
Error:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
]
Total time: 0.8905 seconds
[0m
SSH: EXEC: completed after 1 201 ms
SSH: Disconnecting configuration [develop] ...
ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [1]]
Build step 'Send files or execute commands over SSH' changed build result to UNSTABLE
[ssh-agent] Stopped.
Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered
Finished: UNSTABLE
Hland: не верю.
Я четко вижу одно несоответствие:
"agent forwarding в ubunte включил агент форвардинг, в профиль баша добавил скрипт чтобы добавлялись ключи в агент"
То есть, на удаленном сервере у вас ключей нет, вы их передаете через форвардинг агент, но ключи добавляются в профиль баша, который не выполняется, в случае запуска процесса непосредственно из демона Jenkins, а не из консоли баша.
Я верно понял? Если верно, то почему вы не можете на удаленной машине положить ключи и настроить .ssh/config?
Сергей: спасибо за советы. проблема решилась при клонировании с гита на серве почему-то игнорится файл с конфигом, где сказано какой ключ брать. Берет по умолчанию id_rsa, который был не правильным