【问题标题】:Gerrit Trigger Connection failsGerrit 触发器连接失败
【发布时间】:2014-09-24 15:19:44
【问题描述】:

我正在尝试让 Jenkins 的 Gerrit Trigger 插件正常工作,但是当我尝试测试连接时它继续抛出异常。我什至没有得到有用的错误消息。服务器错误日志也是空的。

由于 Stacktrace 中有一些 SSH-Stuff,我添加了我的 SSH 密钥文件。也许这可以帮助解决这个问题。

堆栈跟踪:

javax.servlet.ServletException: java.lang.NullPointerException
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:778)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
    at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
    at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
    at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
    at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
    at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
    at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at com.sshtools.j2ssh.util.SimpleASNReader.getByte(Unknown Source)
    at com.sshtools.j2ssh.util.SimpleASNReader.assertByte(Unknown Source)
    at com.sshtools.j2ssh.openssh.RSAKeyInfo.getRSAKeyInfo(Unknown Source)
    at com.sshtools.j2ssh.openssh.OpenSSHPrivateKeyFormat.decryptKeyblob(Unknown Source)
    at com.sshtools.j2ssh.transport.publickey.SshPrivateKeyFile.toPrivateKey(Unknown Source)
    at com.sonyericsson.hudson.plugins.gerrit.gerritevents.ssh.SshUtil.checkPassPhrase(SshUtil.java:75)
    at com.sonyericsson.hudson.plugins.gerrit.trigger.GerritServer$DescriptorImpl.doTestConnection(GerritServer.java:519)
    at sun.reflect.GeneratedMethodAccessor278.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
    at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
    at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
    at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
    ... 63 more

SSH 私钥文件:

-----BEGIN RSA PRIVATE KEY-----
PuTTY-User-Key-File-2: ssh-rsa
Encryption: aes256-cbc
Comment: qp10009
Private-Lines: 14
mCGBY0G8pV9aIVmclpDja3S+x3DbHcw4BHB5rKMvj1mu+qYDBixvtATSIjKcZq2H
wbZIrmOtcnwy0mGpxF7Bf1cTv6iRMajSkV/wvH73AowysnhFPtB/SxvDewIb82Iz
8v9RaW2Nmk1Yt9oOlT9RCetZ9Jn7rvOI8R56v/V7xjJauffCGDI/3jVMKNJl7s7M
oynYPq4DXmNuVkcVFoO0BAYq1M+DXvT40lh3Hhnn0+wzWCdBHDe3oYF7fMHQSm4B
CcwMZQNcYXiOYAj8VPJ2ft2W2biB4YcqB4dyHlLvHf1kPdHFVMICgZGuFE2nWnek
Ul8ocg/lJJUDvsBzO/GHU6shqsx53d6M9R27ok8xaZBPYWLT/4v7NTzBKZvOYX9+
FEg1sMhWDnTb8bcypeXIMXVfZuSHqLvwSfHE/3irVJv3bPKuz4Rj62F1WvcrcKoJ
wp4F52wPhust6oC8bfq78zuh2Qfg2Ap/7kOlKG4zY7OtGoLWBTZbMK3NlbRhs7Q2
5XLVgksLgUV2YW2YgFEMnB9HLJ8Y+e3wiXDOvL7EEb+kAABoJb01tRHvpVjYs0p0
6pcYOEGfuLQ/zQicQPgtXCeK32CpEYpfzoC9p6yA0XNe6wakyhbZRZWFehB4X9+5
JiyoXigIyctR7cAfSOr68hK8dH2YHb9Ekfq5wUv0d0FoSETnOpIEXu+izF1vsFHR
A6Nnj2uYWlgyEiVyPUSG94PMCMuUjT+X+A4CpoN8NDb06Bh71zZFOTFFq4ahNtq2
btu30lowLP8Pn1d0kYK3+HoVFPf5xbBAkyU2Tz26mzW2Me9Ckn7PisOUUl6zdFZM
28lnLw5Zm8mm+QruttmV27qRabLySEGNHjxm9v8UgDzxtkWY1hpB4lV/MAFFxEhC
Private-MAC: 0a0c4ca43a3e06d9e057d9c550931a7475ed6fc6
-----END RSA PRIVATE KEY-----

【问题讨论】:

  • 您是否尝试过先从 jenkins 服务器手动连接?
  • 你应该停止发布私钥;-)
  • 不用担心,这个密钥只是用于测试目的,以后不会使用...... :-)
  • 这篇文章对你有帮助吗? stackoverflow.com/q/38761745/2394026

标签: ssh jenkins triggers connection gerrit


【解决方案1】:

您可以尝试按照以下说明在 windows 下设置 jenkins 的 ssh 密钥:http://blog.bruin.sg/2013/04/setup-ssh-key-pair-for-jenkins-under-windows/

【讨论】:

  • 当我启动我的 Git 安装的 bash.exe 时,它​​告诉我找不到 ssh-keygen 命令。
  • 它应该在您的C:\Program Files (x86)\Git\bin 文件夹中
猜你喜欢
  • 2012-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-12
  • 1970-01-01
  • 1970-01-01
  • 2014-06-17
  • 1970-01-01
相关资源
最近更新 更多