赞
踩
使用docker安装Jenkins,在源码管理中填写完Repository URL
后,出现以下报错(可以确定是公钥和私钥配置没有问题):
对于以上问题,困扰了我很久,随即引发了我的思考:
- 以前我是使用war包安装的,git、jdk都是使用主机本身的环境。而使用docker安装jenkins,在jenkins内部默认是安装了git和jdk的,所以说如果是容器的方式,就不用使用宿主机的环境(不需要挂载目录)。
git源码管理
出现无法连接仓库的问题首先排查ssh连接的问题:在使用war包的方式安装的时候,由于jenkins直接运行在主机,所以应在在主机上的/root/.ssh
目录下生成id_rsa(私钥)
和id_rsa.pub(公钥)
。而容器的方式,容器和宿主机是两个相互隔离的文件系统,所以应该在容器内部的/root/.ssh
目录下生成id_rsa(私钥)
和id_rsa.pub(公钥)
,而不是宿主机。
ssh-keygen -t rsa
ssh -T git@github.com
- 使用以下命令在容器内部安装vim命令:
apt-get update apt-get -y install vim
- 1
- 2
- 在/root/.ssh目录下创建一个config文件
vim config
- 1
- 写入以下内容:
Host github.com Hostname ssh.github.com Port 443
- 1
- 2
- 3
- 再次测试ssh免密连接:
ssh -T git@github.com
- 1
显示成功验证:
- 尝试使用ssh免密连接的方式克隆项目:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。