您的位置:首页 > 其它

Jenkins与git实现联动

2018-03-02 17:05 323 查看
一、问题背景

在开发过程中,有时候在git 主干上合并代码后,将代码部署到测试环境或者开发环境中,如果每次主干更改都需要重新部署,相对恶言就比较麻烦。本节主要介绍如何通过Jenkins实现与git的联动,即Jenkins监控代码托管仓库git的状态,如果git有变动,自动触发Jenkins执行构建操作,如代码部署、自动化测试等。

二、Jenkins job配置

(1)关于Jenkins的安装及job创建本节不在赘述,如图1所示,Jenkins服务端配置了两个job,选择study这个job,直接点击study(左侧的系统管理是针对Jenkins全局配置的,这个后面作者会有所介绍)



图1

(2)上述操作即点击study这个job后,会跳转到图2的界面,选择“配置”,进入配置界面



图2

(3) jenkins job 的源码配置

如图3所示,要实现Jenkins与git的联动,这里是关键。首先,源码管理选择git(如果这里没有git,需要先在步骤1提到的系统管理-》管理插件-》可选插件安装git plugin.注:安装的时候,系统会将相关的插件一并安装了)

Repository URL :这里是需要监控的git URL地址,通常就是我们使用git clone URL 这里这个URL.

Credential :这里是认证方式。在开发环境中,常见的是通过公钥去认证。



图3



图4

首先在本地生成一对密钥。将公钥上传到git上面,这里点击Add,进入如图4的界面,选择SSH Uername with private key(这个根据实际情况选择,如用户名/密码认证等),我们创建一个用户名jenkins,将生成的私钥粘贴到这里,保存,选择下拉框里就会显示我们新建的用户认证,见图3.

图5是选择一些附加的条件,即git仓库发生什么操作才会触发这个jenkins job构建,这个选项可选,非必须



图5

三、git 仓库钩子的配置

配置钩子的目的是实现git版本变更与构建操作的联动。



如图所示,在一个git项目中,点击settings,选择左侧的hooks-code(根据实际情况,可能有些公司专有的git会稍有区别,但是原理是一致的),URL里配置的是要触发的远程BUILD的URL,如http://10.5.237.114:8080/job/study/build?delay=0sec(这个地址根据实际情况设置,其中,study是一个job名称),可以选择触发条件。选好后点击下面的add web hook。添加成功后当git仓库变更时,触发条件(Push events /merge request evens/After Merged events),便会触发远程任务构建操作。

四、上面就是实现Jenkins与git联动的核心配置,如果认证这里不通过的话,保存job配置时会报错,根据报错信息,可以找出配置失败的原因,其他配置在相关章节会介绍,有问题欢迎留言沟通。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: