Jenkins: используйте ssh-агент и плагины мерзавца вместе

Так, у меня есть следующая ситуация: сервер с преданными пользователями для каждого проекта (например. 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, снова с проблемами полномочий.

1
задан 15 October 2015 в 15:16
1 ответ

Ооба, абдан акылсыз мен. SSH колдонуучусунун агенти jenkins колдонуучусунун алыскы репого foo деп туташуусуна гана мүмкүнчүлүк берет, бирок жергиликтүү файл тутумуна жазууга уруксат бербейт ...

1
ответ дан 3 December 2019 в 23:58

Теги

Похожие вопросы