Jenkins: Slave не использует предоставленный ключ SSH из конфигурации проекта для аутентификации в Git - PullRequest
0 голосов
/ 05 июня 2018

У меня есть (Linux) мастер Jenkins с ключами ssh, настроенными как «имя пользователя SSH с закрытым ключом», которые вводятся непосредственно с помощью веб-интерфейса.Ключ используется для аутентификации для Git на Codebase, и он работает, как и ожидалось, на главном узле.

Теперь для создания приложений .NET я создал ведомый узел Windows, который также должен использовать этот ключ для клонирования репозитория.из кодовой базы, но кажется, что ведомое устройство вообще не использует ключ, что приводит к сбою аутентификации.

В SCM у меня есть правильный URL-адрес и учетные данные, и тест ключа, кажется, в порядке (так как это основное тестированиеЭто).При запуске моего проекта сборки я получаю следующую (цензурированную) ошибку:

Started by user XXX
[EnvInject] - Loading node environment variables.
Building remotely on Windows Build Server (Windows) in workspace C:\Jenkins\workspace\XXX
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url git@codebasehq.com:XXX # timeout=10
Fetching upstream changes from git@codebasehq.com:XXX
> git --version # timeout=10
using GIT_SSH to set credentials 
> git fetch --tags --progress git@codebasehq.com:XXX +refs/heads/*:refs/remotes/origin/*
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from git@codebasehq.com:XXX
    at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:825)
    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1092)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1123)
    at org.jenkinsci.plugins.multiplescms.MultiSCM.checkout(MultiSCM.java:143)
    at hudson.scm.SCM.checkout(SCM.java:495)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1276)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:560)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:485)
    at hudson.model.Run.execute(Run.java:1735)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:405)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress git@codebasehq.com:XXX +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: XXX@codebasehq.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

Я предполагаю, что мне не нужно копировать ключ на ведомое устройство самостоятельно, потому что это сделает поставщик ключей в Jenkins бесполезным?Любая помощь приветствуется.Заранее спасибо.

ND

РЕДАКТИРОВАТЬ:

Копирование личного ключа из графического интерфейса Jenkins вручную в файл id_rsa на подчиненном узлепозволяет клонировать при прямой работе внутри виртуальной машины, но сборка с Jenkins по-прежнему выдает ту же ошибку.Все еще ищите awnser.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...