jenkins访问gitlub超时问题

前言

在jenkins理配置了github的项目,但是构建看心情,有时很慢,经常是这种错误:

GnuTLS recv error (-110): The TLS connection was non-properly terminated

其实本质上还是访问github比较慢,当然这里要注意的其实用ssh访问github是没问题的,用https会有问题这个可以参考:GitHub提交代码超时解决方案 | 配置SSH连接
因此我们在jenkins也可以这样做:

一、配置ssh

github的配置有三种方式,可以参考这篇文章,不过我尝试了第一种和第二种都没有成功。如果大家可以成功也可以分享下步骤。
最后第三种成功了:

1.生成公钥和私钥

ssh-keygen -t rsa

一路按回车就行,然后进入/root/.ssh/ 目录,拷贝出来即可:
jenkins访问gitlub超时问题_第1张图片

2.把公钥放到github

这个不多说了
jenkins访问gitlub超时问题_第2张图片

3.把私钥放到Jenkins

选择Username with private key
jenkins访问gitlub超时问题_第3张图片

二、使用ssh配置流水线

在流水线模块,设置Repository URL为 [email protected] ,然后Credentials选择第一步中添加的凭证即可。

jenkins访问gitlub超时问题_第4张图片

三、仍然报错的话

注意
如果这两部做完还是失败,比如报错
jenkins访问gitlub超时问题_第5张图片
这个时候可以去jenkins服务器上先执行一次git clone [email protected] 。这样上面这个令牌就可以用了。因为第一次执行clone,会让你输入yes

jenkins访问gitlub超时问题_第6张图片

总结

  1. 要用ssh来配置,这样就快了
  2. 如果有子模块,记得也改成ssh

不错,现在每次构建都很快了。
jenkins访问gitlub超时问题_第7张图片


参考

GitHub提交代码超时解决方案 | 配置SSH连接

jenkins:配置 github credentials

你可能感兴趣的:(架构之路,jenkins,git,github)