前提k8s中部署的jenkins

绑定卷
pod中   /var/jenkins_home

首先进入容器中
docker exec -it id bash


使用ssh-keygen -t rsa -C "xxx@example.com"
生成.ssh

cd ~/.ssh

可以看到两个文件
id_rsa  id_rsa.pub


公钥id_rsa.pub配置到git服务器上

私钥配置到jenkins里面


如果此时你的git服务port不为22 那么会访问失败

此时需要在.ssh下创建 config文件

这里 在容器中是没有vi啥命令的,我是到宿主机上编辑的对应文件

通过命令
docker inspect dbbb418d777e|grep Mounts -A 30
可以查看到绑定的目录
  {
                "Type": "bind",
                "Source": "/var/lib/kubelet/pods/5bc765c4-17e1-4ac3-9e00-ecdf5266b2db/volumes/kubernetes.io~local-volume/jenkins-pv-volume",
                "Destination": "/var/jenkins_home",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }

config中配置
# gitea
Host gitea.xxx.org
Port 3122
HostName gitea.xxx.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

在容器中 

/var/jenkins_home

下新建一个temp目录,其它地方貌似也没有权限

git clone git@gitea.xxxxxx.org:xxxx/xxxxx-root.git

会有提示 输入yes就好了 同时.ssh下面会生成一个know_host文件
The authenticity of host '[gitea.xxxxx.org]:3122 ([192.168.0.51]:3122)' can't be established.
ECDSA key fingerprint is SHA256:2v5oDfHnefXh9nO3ouoFM19ufCjmZFCqB8a2KHglKEo.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yu^H^[[3~
Please type 'yes', 'no' or the fingerprint: yes



乐享:知识积累,快乐无限。