Дженкинс - создай работу с результатами в java.lang.NullPointerException - PullRequest
3 голосов
/ 18 августа 2011

все

Прошу прощения, если об этом уже спрашивали, но нигде не могу найти подходящий пост.Я пытаюсь создать работу в своем экземпляре Jenkins, используя Jenkins cli с jankins-cli.jar.

Я могу отображать справочную информацию, используя:

java -jar jenkins-cli.jar -s http://jenkins.<company>.com/hudson help

Я такжевозможность входа в систему:

java -jar jenkins-cli.jar -s http://jenkins.<comapny>.com/hudson \
    login --username <username>

Однако по какой-то причине я не могу построить задание в своем экземпляре jenkins с помощью cli Jenkins.Это всегда приводит к исключению java.lang.NullPoiinterException.У кого-нибудь еще были проблемы с этим?

заранее спасибо!

java -jar jenkins-cli.jar -s http://jenkins.<company>.com:8080/hudson build <job>
java.lang.NullPointerException
at hudson.util.CaseInsensitiveComparator.compare(CaseInsensitiveComparator.java:40)
at hudson.util.CaseInsensitiveComparator.compare(CaseInsensitiveComparator.java:34)
at java.util.TreeMap.getEntryUsingComparator(TreeMap.java:351)
at java.util.TreeMap.getEntry(TreeMap.java:322)
at java.util.TreeMap.get(TreeMap.java:255)
at hudson.util.CopyOnWriteMap.get(CopyOnWriteMap.java:89)
at jenkins.model.Jenkins.getItem(Jenkins.java:1884)
at hudson.model.AbstractProject.findNearest(AbstractProject.java:1956)
at hudson.cli.handlers.AbstractProjectOptionHandler.parseArguments(AbstractProjectOptionHandler.java:54)
at org.kohsuke.args4j.CmdLineParser.parseArgument(CmdLineParser.java:435)
at hudson.cli.CLICommand.main(CLICommand.java:177)
at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:82)
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:274)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:255)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:287)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
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:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Ответы [ 3 ]

0 голосов
/ 10 октября 2012

Я столкнулся с той же проблемой и смог решить ее с помощью следующих шагов:

  • обновить файлы jar сервера и клиента до последней версии
  • переключить режим аутентификации с имени пользователя / пароля на аутентификацию с открытым ключом , как описано в вики Jenkins

После этого запуск сборки с java -jar jenkins-cli.jar -i keyfile -s http://jenkins.<company>.com:8080/hudson build <job> работал без каких-либо исключений.

0 голосов
/ 24 июля 2014

Я не уверен, что Вы получили правильный ответ. Это должно работать:

java -jar jenkins-cli.jar -s <url of the CI server> build <job name> --username <username> --password <password>

Например, если CI-сервер "http://myserver.com:8080/"", задание для сборки - "My_App_Build", имя пользователя - "myusername", пароль - "mypassword", тогда

java -jar jenkins-cli.jar -s http://myserver.com:8080 build My_App_Build --username myusername --password mypassword 

Примечание: вы найдете ошибки типа " Нет такой команды: --username ", если порядок параметров неправильный.

0 голосов
/ 19 августа 2011

Я не знаком с работой, которую вы используете, но я знаю, что вы можете начать работу с API jenkins, расположенным здесь

https://wiki.jenkins -ci.org / display / JENKINS / Remote + access+ API

Предполагается, что ваша работа запущена и работает.

...