2011-08-18 12 views
3

이 전에 물어되었지만 난 아무데도 적절한 게시물을 찾을 수없는 경우 I 사과 모든

에서 CLI 결과에 작업을 구축 할 수 있습니다. 나는 jenkins cli와 jankins-cli.jar를 사용하여 Jenkins 인스턴스에서 일자리를 얻으려고합니다. 내가 사용 도움말 정보를 표시 할 수 있어요젠킨스 - java.lang.NullPointerException이

는 :

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

그러나, 나는 사용하여 내 젠킨스 인스턴스에서 작업을 만들 수없는 이유 :

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

또한 로그인 할 수 있어요 젠킨스 클리. 항상 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) 
+0

명령 줄 인수가 누락되지 않았는지 확인 했습니까? Jenkins CLI에 버그가있을 수 있습니다. – Bernard

답변

0

은 저도 같은 문제로 실행하고 다음 단계를 해결할 수 :

  • 최신 버전으로 업데이트
  • 스위치 공개 키 인증에 대한 사용자 이름/암호와 인증 모드로 서버와 클라이언트 jar 파일 as described in the Jenkins wiki

그 후, java -jar jenkins-cli.jar -i keyfile -s http://jenkins.<company>.com:8080/hudson build <job>으로 빌드를 시작하는 것은 예외없이 작동했습니다.

0

정답이 맞는지 확실하지 않습니다. 이 작동합니다 : 예를 들어

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 

참고 : 매개 변수의 순서가 올바르지 않은 경우 "No such command : --username"과 같은 오류가 있습니다.

관련 문제