jenkins已集成git插件(如无请自行下载)
1. 去到源码管理栏,选中Git:
选后Credentials选中刚刚新增的账号密码红色提示消失;
使用ssh协议去获取代码
点击Add,需要添加ssh的credentials这里需要上传的是私鑰(不是公钥!!)
2. 查看是否成功获取git代码
首先可以查看jenkins的控制台输出日志,是否报错
或者直接去到jenkins的工作目录
查看代码是否clone下来
疑问点(公钥和私钥的理解)
为什么linux上直接可以git clone成功而用jenkins去执行不成功呢,然后jenkins为什么不用公钥而要密钥呢
个人理解:ssh生成的公钥和私钥是一對的我们在linux上通过ssh协议获取git代码,也是先在linux生成公钥+私钥然后把公钥上传到git服务端,然后获取代码的流程是:
b. git服务器使用公钥加密信息(这里指代码)把信息传回给linux;
c. linux拿到信息后,通过本地的私钥解密信息得到代码;
而公钥私钥存放在~/.ssh下,每个用户都不一样
而jenkins的執行是用jenkins用户去执行的当git服务把信息给到jenkins的时候,jenkins在他的~/.ssh下没有对应的私钥因此需要将私钥告诉jenkins,这就是jenkins为什么需要添加私钥;