jenkins не удается соединиться с репозиторием мерзавца

Я не могу настроить URL репозитория мерзавца в некотором смысле, что Jenkins мог получить доступ к нему.

в соответствии с "Проектом> Настраивают> Управление исходным кодом", я установил URL Репозитория на "git@store:repositories/testproject.git"

Я получаю эту ошибку:

Failed to connect to repository : Command "/usr/bin/git -c core.askpass=true ls-remote -h git@store:repositories/testproject.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.

доступ, с которым URL работает над оболочкой:

jenkins@dilbert:~$ /usr/bin/git -c core.askpass=true ls-remote -h git@store:repositories/testproject.git
git@store's password: 
4fd35a4f528e2f2921a52cfd03918b7cbde3d253    refs/heads/master

Меня просят относительно пароля, и он работает.

Я связал тот же пароль к учетным данным в Jenkins "мерзавцу /" и я также попробовал "git@store /". Ни один не работал.

Примечание просьб, что это не о GitHub, а о локальном репозитории мерзавца.

обновление:

добавление ключа паба от jenkins ведущего устройства к ведомому устройству сборки, которому помогают получить работу конфигурации:

ssh-copy-id jenkins@dilbert

теперь сборки перестали работать:

 > /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > /usr/bin/git config remote.origin.url git@store:repositories/testproject.git # timeout=10
Fetching upstream changes from git@store:repositories/testproject.git
 > /usr/bin/git --version # timeout=10
 > /usr/bin/git -c core.askpass=true fetch --tags --progress git@store:repositories/testproject.git +refs/heads/*:refs/remotes/origin/*
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from git@store:repositories/testproject.git
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:735)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:983)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1016)
    at hudson.scm.SCM.checkout(SCM.java:484)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1270)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:609)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:531)
    at hudson.model.Run.execute(Run.java:1751)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:89)
    at hudson.model.Executor.run(Executor.java:240)
Caused by: hudson.plugins.git.GitException: Command "/usr/bin/git -c core.askpass=true fetch --tags --progress git@store:repositories/testproject.git +refs/heads/*:refs/remotes/origin/*" 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.

хранилище является jenkins ведущим устройством, Дилберт является ведомым устройством сборки. ssh от ведущего устройства к ведомым работам.

jenkins@store:~$ ssh dilbert uptime
 16:06:21 up 3 days, 18:53, 13 users,  load average: 0,31, 0,38, 0,50

какие-либо идеи, как отладить это?

11
задан 22 March 2015 в 17:10
1 ответ

аутентификация работает через ssh. вы добавили публичный ssh-ключ пользователя jenkins к git-user на вашем git-сервере?

дайте мне знать, если вам нужны инструкции по настройке ssh-аутентификации, и я отредактирую этот пост здесь.

/ EDIT:

рад, что вы запустили. Я поискал на официальном сайте jenkins подробное руководство по настройке ssh, но не нашел его.

так что вот краткий обзор - дайте мне знать, если это то, что вам нужно.

  1. jenkins ведомый (строительная машина) подключается к git-серверу (мастер jenkins)
  2. строительная машина запускается от имени пользователя jenkins (например, jenkins @ dilbert: ~ $)
  3. git-server запускается от имени пользователя git (например, git @ store: ~ $)
  4. требуется открытый ключ jenkins @ dilbert для размещения в git @ store authorized_keys
  5. run (скрытый) ssh-copy-id git @ store для копирования открытого ключа jenkins @ dilbert ssh на сервер git
5
ответ дан 2 December 2019 в 21:56

Теги

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