Проблемы CLI автономного узла Jenkins

Я хочу перевести один подчиненный узел в автономный режим, я создал задание на ведущем и пытаюсь отправить автономный сигнал на конкретный узел. Но у меня проблемы с аутентификацией, что это может быть?!

Моя конфигурация задания jenkins в оболочке выполнения:

wget http://local:8080/jnlpJars/jenkins-cli.jar
java -jar jenkins-cli.jar -s http://local:8080/ who-am-i
java -jar jenkins-cli.jar -s http://local:8080/ offline-node "NSD38" --username admin --password admin

Для анонимного доступа предоставьте все права доступа в системе безопасности на основе Matrix. Отметьте все точки.

Выход:

+ java -jar jenkins-cli.jar -s http://localhost:8080/ who-am-i
[WARN] Failed to authenticate with your SSH keys. Proceeding as anonymous
Authenticated as: anonymous
Authorities:
anonymous
+ java -jar jenkins-cli.jar -s http://localhost:8080/ offline-node NSD38 --username admin --password  admin
[WARN] Failed to authenticate with your SSH keys. Proceeding as anonymous
java.lang.NullPointerException
at hudson.slaves.OfflineCause$UserCause.<init>(OfflineCause.java:111)
at hudson.slaves.OfflineCause$ByCLI.<init>(OfflineCause.java:128)
at hudson.model.Computer.cliOffline(Computer.java:432)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at hudson.cli.declarative.MethodBinder.call(MethodBinder.java:102)
at hudson.cli.declarative.CLIRegisterer$1.main(CLIRegisterer.java:185)
at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:299)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:280)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:239)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:328)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:63)
at hudson.remoting.InterceptingExecutorService$2.call(InterceptingExecutorService.java:95)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Build step 'Execute shell' marked build as failure
Notifying upstream projects of job completion
Finished: FAILURE

person Vladimir Voitekhovski    schedule 28.04.2014    source источник


Ответы (3)


Прочтите это здесь, раздел под названием Работа с учетными данными.

Вам нужно использовать -i private_key_file, если у вас нет сохраненного локального закрытого ключа. Этот ключ необходимо сначала настроить в конфигурации Jenkins.

person Slav    schedule 28.04.2014
comment
Но почему, если он попытается войти как анонимный, он этого не сделает? - person Vladimir Voitekhovski; 28.04.2014
comment
Поскольку конфигурация вашего сервера, вероятно, не позволяет anonymous пользователю вносить такие изменения. Вы всегда можете попробовать отключить аутентификацию в конфигурации Jenkins, выбрать Everyone can do anything и снова попробовать свою командную строку. - person Slav; 28.04.2014
comment
сделал, как вы сказали, и никаких изменений (сбой сборки с теми же проблемами - person Vladimir Voitekhovski; 28.04.2014

Я столкнулся с той же проблемой несколько дней назад. Мне удалось решить эту проблему, сначала вызвав команду входа в систему.

java -jar jenkins-cli.jar -s http://local:8080/ login --username admin --password admin
java -jar jenkins-cli.jar -s http://local:8080/ offline-node "NSD38" --username admin --password admin
person Andy Chen    schedule 30.04.2014

Решили эту проблему, сначала попробуйте сначала войти в систему, прежде чем вызывать команду, но изменений не было, и после этого я просто добавляю ключ shh в пользовательское поле jenkins, и все в порядке.

person Vladimir Voitekhovski    schedule 02.05.2014