Jenkins源码管理Git无法连接的问题排查


image-20221011092253260

该文章已同步收录到我的博客网站,欢迎浏览我的博客网站,xhang’s blog

1.问题描述

使用docker安装Jenkins,在源码管理中填写完Repository URL后,出现以下报错(可以确定是公钥和私钥配置没有问题):

image-20240122165303738

2.问题思考

对于以上问题,困扰了我很久,随即引发了我的思考:

  1. 以前我是使用war包安装的,git、jdk都是使用主机本身的环境。而使用docker安装jenkins,在jenkins内部默认是安装了git和jdk的,所以说如果是容器的方式,就不用使用宿主机的环境(不需要挂载目录)。

image-20240123013057132

  1. git源码管理出现无法连接仓库的问题首先排查ssh连接的问题:在使用war包的方式安装的时候,由于jenkins直接运行在主机,所以应在在主机上的/root/.ssh目录下生成id_rsa(私钥)id_rsa.pub(公钥)而容器的方式,容器和宿主机是两个相互隔离的文件系统,所以应该在容器内部的/root/.ssh目录下生成id_rsa(私钥)id_rsa.pub(公钥),而不是宿主机。

3.解决方案

  1. 进入容器内部生成公钥私钥
ssh-keygen -t rsa

image-20240123011838793

  1. 在github中点击setting,添加SSH Key

image-20221028231950098

image-20221028232154790

  1. SSH添加成功

image-20221028232139791

  1. 测试ssh连接:
ssh -T git@github.com
  1. 如果此时报错,报错为ssh连接超时(22端口),,那可以使用443端口:

image-20240123012250509

  1. 使用以下命令在容器内部安装vim命令:
apt-get update
apt-get -y install vim
  1. 在/root/.ssh目录下创建一个config文件
vim config
  1. 写入以下内容:
Host github.com
Hostname ssh.github.com
Port 443

image-20240123014754409

  1. 再次测试ssh免密连接:
ssh -T git@github.com

​ 显示成功验证:

image-20240123014944581

  1. 尝试使用ssh免密连接的方式克隆项目:

image-20240123015136274

  1. 配置完成就不会报错

image-20240126133157276

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值