Так, у меня есть следующая ситуация: сервер с преданными пользователями для каждого проекта (например. foo
) и jenkins сервер, который работает как a jenkins
пользователь. Я генерировал пару ключей SSH для моего foo
пользователь и добавил общедоступный как развернуть ключ к GitHub repo. (Я проверил, что могу клонировать repo с foo
пользователь)
В Jenkins я устанавливаю аутентификацию в, "Справляются, Jenkins"> "Управляют Учетными данными" как "именем пользователя SSH с закрытым ключом" с Именем пользователя "нечто" и foo
закрытый ключ в "Глобальном" объеме.
Таким образом, я настроил свое задание Jenkins с корректной рабочей областью (например. /home/foo/deployment
с полным владением для пользователя foo
очевидно) и использование учетных данных "нечто". Для "Управления исходным кодом" я хотел использовать URL SSH своего repo (например, git@github.com:foo/foo.git) Однако, это сразу уведомляет меня, что существует проблема разрешения:
Failed to connect to repository : Command "git -c core.askpass=true ls-remote -h git@github.com:foo/foo.git HEAD" returned status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Если я использую https версию URL (https://github.com/foo/foo.git), ошибка исчезает, но когда я выполняю задание, я получаю следующие ошибки в консольном выводе:
Started by user developer
[EnvInject] - Loading node environment variables.
Building in workspace /home/foo/deployment
Cloning the remote Git repository
Cloning repository https://github.com/foo/foo.git
> git init /home/foo/deployment # timeout=10
ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException: Could not init /home/foo/deployment
[long stacktrace]
Caused by: hudson.plugins.git.GitException: Command "git init /home/foo/deployment" returned status code 1:
stdout:
stderr: /home/foo/deployment/.git: Permission denied
[long stacktrace]
ERROR: null
Finished: FAILURE
Пара ключей не использует пароль, я хотел бы добавить тот хотя, если я получаю эту работу сначала. Jenkins работает на LTS Ubuntu 14.04.2 (GNU/Linux 3.13.0-65-универсальный x86_64) поле.
Что я пропускаю здесь? Это появляется учетные данные, которые я обеспечил, не используются, который объясняет, почему это взрывается на полномочиях. Но я не понимаю, почему они не используются? И почему не может использовать git@
URL?
Так как это дросселирует на проблеме разрешения с git init
Я выполнил это вручную в /home/foo/deployment
, но повторно выполняя задание Jenkins это дросселирует на git fetch
, снова с проблемами полномочий.
Ооба, абдан акылсыз мен. SSH колдонуучусунун агенти jenkins
колдонуучусунун алыскы репого foo
деп туташуусуна гана мүмкүнчүлүк берет, бирок жергиликтүү файл тутумуна жазууга уруксат бербейт ...