Jenkins系列(四)----Jenkins+Github持续集成

配置前要求:

1.Jenkins已经安装Github插件

2.Jenkins服务器已经拥有一个公网IP地址,由于我是本地搭建的,所以我用Ngrok实现内网穿透。


(一)、全局配置


先配置Github连接的一些信息,打开Jenkins首页控制台--》系统管理--》系统设置


Jenkins系列(四)----Jenkins+Github持续集成





选择Github--》添加Github Server


Jenkins系列(四)----Jenkins+Github持续集成



选择Add


Jenkins系列(四)----Jenkins+Github持续集成


输入github的账号与密码

Jenkins系列(四)----Jenkins+Github持续集成


然后点击Add


Jenkins系列(四)----Jenkins+Github持续集成





配置Jenkins在Hook URL中监听Github的Post请求,然后进行自动构建,所以接下来配置Hook URL,点击高级


Jenkins系列(四)----Jenkins+Github持续集成



启用Hook URL,并将Hook URL(http://url:项目名)复制出来,然后配置ngrok,并启动


Jenkins系列(四)----Jenkins+Github持续集成



(二)Github项目配置


然后在github中新建一个项目,点击Settings


Jenkins系列(四)----Jenkins+Github持续集成


然后输入URL,另外,选择自主事件


Jenkins系列(四)----Jenkins+Github持续集成Jenkins系列(四)----Jenkins+Github持续集成




其中的URL就是Jenkins中配置的地址,配置方式在上面


Jenkins系列(四)----Jenkins+Github持续集成


选择Push,当Github收到了客户端有Push动作时,会触发一个Hook,保存WebHook之后


Jenkins系列(四)----Jenkins+Github持续集成



(三)Jenkins项目配置


上面都配置好了,之后,Github遇到Push事件时,Jenkins会收到通知,但Jenkins应该做什么呢? 这就需要配置Jenkins项目触发的条件,具体如下:


在Jenkins中新建Maven项目


Jenkins系列(四)----Jenkins+Github持续集成


然后配置下项目的git地址


Jenkins系列(四)----Jenkins+Github持续集成



然后配置构建触发器,并且选择Github Hook触发


Jenkins系列(四)----Jenkins+Github持续集成



配置好之后,点击保存.


Jenkins系列(四)----Jenkins+Github持续集成


(四)测试


这里我用Eclipse导入git中的项目,然后进行修改,修改之后,提交,看Jenkins是否会构建,具体步骤如下:


eclipse中选择Import---->GIT


Jenkins系列(四)----Jenkins+Github持续集成


输入一些连接信息,点击Next


Jenkins系列(四)----Jenkins+Github持续集成


点击Next


Jenkins系列(四)----Jenkins+Github持续集成


点击Next


Jenkins系列(四)----Jenkins+Github持续集成


点击Next


Jenkins系列(四)----Jenkins+Github持续集成


点击Finish,然后修改写些内容


Jenkins系列(四)----Jenkins+Github持续集成




文件右键提交,一提交Jenkins就会自动构建


Jenkins系列(四)----Jenkins+Github持续集成


可以看到Jenkins的输出日志


Jenkins系列(四)----Jenkins+Github持续集成


红灯,报了一个错,找不到pom.xml文件,编辑JK项目,提示


Jenkins系列(四)----Jenkins+Github持续集成


解决方法如下:


Jenkins系列(四)----Jenkins+Github持续集成


然后再次修改项目的文件,然后提交修改,Jenkins会自动构建,输出日志如下


Jenkins系列(四)----Jenkins+Github持续集成


构建成功!!!