Jenkies+github实现代码自动构建
作为一个测试人员,对持续集成这个概念只是停留在听说过,这两天想认真研究一下如何在jenkies中实现代码的自动构建。
还记得以前测试项目的时候,开发人员每次更改代码都会发个jar包,然后交给我们测试人员去服务器部署,在集成测试的时候,一天会发n个包,代码、脚本基本靠手浪费大量的时间。
这时候就要引入持续集成啦,先看下持续集成的概念:Continuous integration (CI)
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
那么持续集成有哪些好处呢?
- 减少重复的工作,包括代码的编译,数据库的集成,测试等,并且能保证执行保持一致
- 产生可部署的文件
- 减少风险,尽早发现问题
- 使项目透明化
这里我的使用的是Jenkies+github,主要讲解实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建。
- 安装Tomcat,我使用的免安装版本apache-tomcat-8.5.41
- Jenkies是用war包的方式,下载Jenkies的war包放在tomcat的webapp下,打开tomcat的startup.bat
- Tomcat正常启动后,下面就是配置Jenkies和github
Github配置:
- Jenkins访问GitHub工程的时候,有的操作是需要授权的,所以我们要在GitHub上生成授权的token给Jenkins使用,点击Developer settings-Personal access token,输入title,再勾选”repo”和”admin:repo_hook”,再点击底部的”Generate token”按钮,就能产生一个新的access token,将此字符串复制下来,后面jenkins任务中会用到: 2.github已注册账号,新建一个仓库,点击setting,设置webhook,这一步非常关键,配置完成后,当github上又push动作时,webhook就会发送通知给Jenkins,相当于一个通知员的角色,这个hook url 地址可以在Jenkies的系统配置里找到,如下图1:
图1
在GitHub上进行了上一步配置有的Event后GitHub自动发送的请求会显示在Webhooks页面,如下图,说明请求成功。这个步骤是耗费时间最久的一步了
Jenkies配置
- Jenkies登录成功,进入Manage Jenkins-Manger plugs 安装以下插件,安装有可能会失败,要多试几次:
2.进入Configure System,配置github服务器和Jenkie地址,这里有一点要说明,Jenkies需要配置在外网服务器上,因为我最初是将jenkies部署在自己本地的,然后通过内网穿透,发现还是不行
然后放弃内网,在腾讯云上买了云服务器,重新部署Jenkies;github的凭据需要新增personal access token,测试连接:
3.进入Global Tool Configuration,配置JDK、git、maven,要保证本地已安装的git:
4.新建一个maven项目,点击项目进入配置页面,源码管理配置页面配置仓库地址和项目主页地址,Credentials添加github的用户名和密码,如下图:
5.配置构建触发器,钩子触发:
6.构建环境配置凭证,绑定凭证使用personal access token,保存配置:
7.本地提交代码到github上,可看到Jenkies自动构建: