Дженкинс - Метод запуска «Запуск подчиненных агентов через SSH» отсутствует - PullRequest
0 голосов
/ 04 июля 2018

Я хочу подключиться к подчиненному Jenkins через SSH.

Итак, я установил "Плагин SSH агента 1.15" и "Плагин SSH Slaves 1.26" , добавлены учетные данные SSH (с использованием закрытого ключа), но нет "Запускать ведомые агенты через SSH "отображается в раскрывающемся списке Метод запуска диалогового окна конфигурации узла.

Что я делаю не так?

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

Я нашел исключение в журналах:

WARNING: Failed to instantiate
Key[type=hudson.plugins.sshslaves.SSHLauncher$DescriptorImpl, annotation=[none]]; skipping this component
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoClassDefFoundError: hudson/tools/JDKInstaller$FileSystem
  at hudson.plugins.sshslaves.SSHLauncher$DescriptorImpl.<init>(SSHLauncher.java:1617)

1 error
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:52)
    at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145)
    at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:432)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
    at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
    at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:394)
    at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:385)
    at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:493)
    at hudson.ExtensionList.load(ExtensionList.java:380)
    at hudson.ExtensionList.ensureLoaded(ExtensionList.java:318)
    at hudson.ExtensionList.getComponents(ExtensionList.java:183)
    at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:192)
    at hudson.ExtensionList.ensureLoaded(ExtensionList.java:318)
    at hudson.ExtensionList.iterator(ExtensionList.java:172)
    at org.jenkinsci.plugins.xunit.AliasInitializer.init(AliasInitializer.java:47)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)
    at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)
    at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
    at jenkins.model.Jenkins$5.runTask(Jenkins.java:1068)
    at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
    at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: hudson/tools/JDKInstaller$FileSystem
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at hudson.model.Descriptor.<init>(Descriptor.java:289)
    at hudson.plugins.sshslaves.SSHLauncher$DescriptorImpl.<init>(SSHLauncher.java:1617)
    at hudson.plugins.sshslaves.SSHLauncher$DescriptorImpl$$FastClassByGuice$$7821d6d6.newInstance(<generated>)
    at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    ... 29 more
Caused by: java.lang.ClassNotFoundException: hudson.tools.JDKInstaller$FileSystem
    at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
    at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327)
    at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 45 more

1 Ответ

0 голосов
/ 06 июля 2018

За исключением найденного NoClassDefFoundError "hudson / tools / JDKInstaller $ FileSystem" в SSHLauncher после обновления Jenkins 2.111-> 2.112 (50272).

Здесь упоминается, что я пропустил Плагин JDK-Tools .

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