前言

在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/ 目录,拷贝出来即可:
在这里插入图片描述

2.把公钥放到github

这个不多说了
在这里插入图片描述

3.把私钥放到Jenkins

选择Username with private key
在这里插入图片描述

二、使用ssh配置流水线

在流水线模块,设置Repository URL为 git@xxxxxx.git ,然后Credentials选择第一步中添加的凭证即可。

在这里插入图片描述

三、仍然报错的话

注意
如果这两部做完还是失败,比如报错
在这里插入图片描述
这个时候可以去jenkins服务器上先执行一次git clone git@xxxx.git 。这样上面这个令牌就可以用了。因为第一次执行clone,会让你输入yes

在这里插入图片描述

总结

  1. 要用ssh来配置,这样就快了
  2. 如果有子模块,记得也改成ssh,要改3个地方:
.gitmodules
.git/config
.git/modules/子模块名称/config

不错,现在每次构建都很快了。
在这里插入图片描述


参考

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

jenkins:配置 github credentials

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐