Docker部署jenkins配置公私钥拉取代码

453 阅读1分钟

容器内配置公私钥

先进入部署Jenkinns中的容器,在docker容器内生成公私钥

ssh-keygen -t rsa

在这里插入图片描述

jenkins 配置私钥信息

在Dashbord->凭据->系统->全局凭据中新增一个凭据 在这里插入图片描述

将公钥配置在gitlab

在这里插入图片描述

正常这么配制就可以了,但是在jenkins上发现使用ssh拉取代码还是报错: 在这里插入图片描述

登陆进docker容器内部直接使用gitlab clone xxx.git 发现也是拉取不了代码,依旧报没权限 在这里插入图片描述

配置了~/.ssh/config文件 在这里插入图片描述

依旧不行,最终发现是使用ssh拉取的时候,配置文件找不对,就去查看容器中ssh_config的配置文件,发现该配置文件全部是注释状态,也就导致了每次使用ssh拉取代码的时候找不到对应的配置文件 容器中的ssh_config的配置文件路径是 /etc/ssh/ssh_config 将其修改为

Host *
	IdentityFile ~/.ssh/id_rsa  # 写明 key 的位置
	HostkeyAlgorithms +ssh-rsa  # 使 openssh 支持 rsa 算法
	PubkeyAcceptedAlgorithms +ssh-rsa
	PubkeyAcceptedKeyTypes +ssh-rsa

在这里插入图片描述 在这里插入图片描述

修改完成后测试一下再docker容器内部是否可以正常拉取代码: 在这里插入图片描述 再去jenkins 中新建一个任务看是否可以拉取代码 在这里插入图片描述 在这里插入图片描述 至此就可以在jenkins服务中使用ssh拉取代码了