Jenkins - GitHub企业版API,HTTP代码-1

9

我正在尝试将Jenkins与GitHub企业版配合使用。然而,我一直收到HTTP响应代码-1和消息“null”的错误信息。

enter image description here

对于存储库所有者/名称,我尝试了我的账户名称、账户名称/仓库名称,以及仓库名称,但是都出现了相同的消息。

enter image description here

我通过点击添加凭据按钮来添加我的令牌,并将令牌添加到秘密文本中。

enter image description here

我还将请求发送到requestbin,它允许分析我的http请求,并使用标头传递令牌密钥。我尝试了相同的curl命令,但对我有效。
有人遇到过这种情况吗?谢谢
这是我在Jenkins和GitHub中的设置:

enter image description here

enter image description here

enter image description here

enter image description here

它无法工作,因为Jenkins在日志中抱怨无法连接到GitHub,错误代码为-1,消息为空。


正如您所知,没有这样的HTTP错误代码。我认为这是客户端在尝试连接之前出现了故障,但是值得查看GitHub企业Web服务器日志以查看是否已连接,或使用tcpdump或类似工具观察连接。如果它确实能够连接,那么我预计在到达HTTP之前会出现一些问题,例如在SSL协商中。您能否手动访问该URL,或者例如从Jenkins服务器使用curl进行访问?Jenkins是否有任何错误日志? - Rup
我能够从Jenkins服务器和我的笔记本电脑上使用curl,并且它完美地工作,除了Jenkins。我认为它显示-1是因为找不到与之匹配的任何错误代码。 - user1157751
好的 - 那么在它无法匹配代码以进行显示之前,您可以查看日志以尝试找出是否有任何错误详细信息吗? - Rup
在Jenkins中,看起来它有相同的错误-1和空消息。我还尝试了一个request.bin来查看它发送出去的内容,似乎是正确的。看起来我的下一步是查看GitHub企业日志? - user1157751
2个回答

5

通过升级Jenkins(现在使用1.5版本)到2.3版本,我能够解决这个问题。


3

事实:
1. 请求requestbin正常,但请求github.xxx.com失败。
2. 对github.xxx.com的Curl请求正常。

假设:
1. 假设Curl请求是从您的本地计算机发出的。如果我冒险猜测,Curl命令测试可能没有在Jenkins运行的计算机/服务器上执行。如果不是,请忽略这一点。
2. Github没有出现故障。
3. 没有人为错误。

更多事实:
1. Github插件使用git客户端
2. 当发生任何错误时,git客户端将返回-1。通常惯例-0是可以的,任何非零都不可以。

可能性:
1. 您可能会遇到Jenkins git客户端中已知的问题(也许是 https://issues.jenkins-ci.org/browse/JENKINS-20261),这个问题通过升级到新版本的Jenkins得到解决,因为Jenkins升级需要一些插件升级。
2. DNS缓存可能是您的Jenkins计算机/服务器上的问题。
3. 您的Jenkins服务器/计算机在完成升级后不久就离开了VPN,并在恰好重新连接VPN后返回。

希望这能有所帮助。


代理设置方面的问题似乎也会导致出现这些症状。 - Al Neill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接