У меня есть (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.