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配置时会报错,根据报错信息,可以找出配置失败的原因,其他配置在相关章节会介绍,有问题欢迎留言沟通。
在开发过程中,有时候在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配置时会报错,根据报错信息,可以找出配置失败的原因,其他配置在相关章节会介绍,有问题欢迎留言沟通。
相关文章推荐
- [原创] Jenkins + git + Robot 实现持续集成
- Jenkins+Gradle+Git实现Android CI
- Jenkins+git 实现代码自动发布
- Jenkins-Docker-SpringBoot-java-git-gradle-持续集成与自动部署-实现跨服务器部署
- jenkins sonar tomcat git实现自动部署
- Jenkins+Maven+Git+Email+SSH实现持续自动化构建部署
- 学习jenkins+git+gradle实现Android持续集成心得总结
- Jenkins 结合 Git 与 Maven 实现自动构建配置
- maven+tomcat+jenkins+shell 实现从版本库源码(svn/git)一键编译打包及上线发布
- 利用Jenkins+Svn/Git+Gradle实现持续集成并上传Apk到蒲公英
- jenkins+maven+git+tomcat实现web项目的自动化部署
- jenkins+gitlab钩子+shell脚本基于git的tag实现App增量更新
- jenkins+maven+git+tomcat实现web项目的自动化部署
- 【Jenkins教程三】基于Linux实现Jenkins+maven+git+tomcat的自动化构建部署项目
- jenkins+git实现docker持续部署
- Jenkins+Gradle+Git+Centos 实现android持续集成、打包(超详细)
- Git+Jenkins+Docker实现web项目的自动部署
- CentOS+Jenkins+git实现持续集成部署
- jenkins-整合git ssh maven spring-boot实现一键部署启动