博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jenkins 从git拉取代码
阅读量:6836 次
发布时间:2019-06-26

本文共 874 字,大约阅读时间需要 2 分钟。

步骤

jenkins已集成git插件(如无,请自行下载)

 

1. 去到源码管理栏,选中Git:

 

 使用http协议去获取代码

 Repository URL填写http的git地址,此时未选择相应的Credentials,会有图中红色提示

 HTTP协议的话,需要输入账号密码来验证,点击Add,输入的账号密码并保存,记得kind选择“Username with password”

选后Credentials选中刚刚新增的账号密码,红色提示消失;

 

使用ssh协议去获取代码

 Repository URL填写ssh的git地址,此时未选择相应的Credentials,会有图中红色提示

 

点击Add,需要添加ssh的credentials,这里需要上传的是私钥(不是公钥!!)

私钥文件存放在~/.ssh/id_rsa 文件中,

可参考

 

2. 查看是否成功获取git代码

首先可以查看jenkins的控制台输出日志,是否报错

或者直接去到jenkins的工作目录

/var/lib/jenkins/workspace/

查看代码是否clone下来

 

疑问点(公钥和私钥的理解)

为什么linux上直接可以git clone成功,而用jenkins去执行不成功呢,然后jenkins为什么不用公钥而要密钥呢

 

个人理解:ssh生成的公钥和私钥是一对的,我们在linux上通过ssh协议获取git代码,也是先在linux生成公钥+私钥,然后把公钥上传到git服务端,然后获取代码的流程是:

a. linux把公钥上传到git服务器;

b. git服务器使用公钥加密信息(这里指代码),把信息传回给linux;

c. linux拿到信息后,通过本地的私钥解密信息,得到代码;

而公钥私钥存放在~/.ssh下,每个用户都不一样

而jenkins的执行是用jenkins用户去执行的,当git服务把信息给到jenkins的时候,jenkins在他的~/.ssh下没有对应的私钥,因此需要将私钥告诉jenkins,这就是jenkins为什么需要添加私钥;

虽千万人,吾往矣!

转载地址:http://kvxkl.baihongyu.com/

你可能感兴趣的文章
钜亨×××登录功能是怎么实现的?
查看>>
科略教育—企业管理的六种模式
查看>>
如何用JavaScript写一个区块链?
查看>>
Teams认证话机系列(2)--AudioCodes C450HD
查看>>
JOB_QUEUE_PROCESSES 参数
查看>>
Oracle临时表空间使用分析
查看>>
Web 访问日志分析
查看>>
Android更改Activity样式和隐藏标题
查看>>
Zabbix 4.0,监控Tomcat(4)
查看>>
javascript console使用说明
查看>>
jQuery1.9+版本的.on使用方法笔记
查看>>
我的友情链接
查看>>
1.MyBaits 3.2 简介
查看>>
hibernate缓存
查看>>
防火墙侦测一下地址是否有经过
查看>>
Jmeter录制app脚本
查看>>
解决java.lang.RuntimeException: mapped-name is required for xxx.xxx.xxx/xx of deployment xx.war
查看>>
impdp导入数据报错"ORA-39029"处理一例
查看>>
shell脚本--语法篇
查看>>
多态实现原理
查看>>