Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。
文章目录
1. Jenkins的安装与配置
注
:此安装步骤基于Win10 ,x64环境。
前提
:本地需安装好JDK。JDK安装配置教程,可参考:https://blog.csdn.net/moxiaofei1208/article/details/80988626
1.1 安装jenkins
- 下载Jenkins,地址:https://www.jenkins.io/download/![](https://img-blog.csdnimg.cn/edd10d7e69d74723a10738badbabdc33.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzExNTAwMQ==,size_16,color_FFFFFF,t_70)
- 双击下载后的jenkins.msi文件,弹出安全警告弹窗,点击“运行”即可;
- 安装欢迎界面,点击Next;
- 安装路径设置,可自定义安装路径,再点击Next;
- 服务登录凭据设置,有两种方式: ①我这里选择"Run service as LocalSystem(not recommended)“,然后点击“Next”即可; ②如果选择"Run service as local or domain user”,可参考:https://blog.csdn.net/qq_27696623/article/details/121636342![](https://img-blog.csdnimg.cn/4c50da8284bb4b24a745b3376deb70da.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzExNTAwMQ==,size_16,color_FFFFFF,t_70)
- 端口号设置,因为端口号默认为8080,考虑到该端口号可能会被其他服务占用,故建议修改此端口号。比如我这里改为了8181,再点击“Test Port”,如果有个绿色的√出现(表示端口号可行),再点击Next;
- 选择本地jdk安装路径,此页面一般自动带出本地jdk安装路径。若带出不正确可自行修改,打开cmd窗口,执行命令
java -verbose
,返回结果的最后两行即为本地jdk安装路径。 - 自定义设置,点击Next;
- 点击Install;
- 等待安装;
- 安装完成后,点击Finish;
- 打开浏览器,在地上栏输入:
localhost:端口号
(端口号为步骤6中设置的Port),访问到的界面如下图所示; - 安装后首次登录需要找到系统动态设置的初始密码,根据浏览器中的提示路径,找到对应路径下的initialAdminPassword文件,并用文件编辑软件打开,复制里面的密码;
- 将复制的密码粘贴到管理员密码输入框中,并点击继续;
- 选择“安装推荐的插件”,由于插件下载源是国外的,安装插件过程会比较慢,如果有安装失败的插件,可修改为国内的下载源后再重新安装,可参考:https://www.cnblogs.com/starsray/p/12753366.html;![](https://img-blog.csdnimg.cn/4d3df4feae624e9e925086287239ef0d.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzExNTAwMQ==,size_16,color_FFFFFF,t_70)
- 插件安装完成后,需要创建管理员用户,如下图;
- 实例配置,点击“保存并完成”即可;
- 配置完成,点击“开始使用Jenkins”;
- 若成功进入到Jenkins首页页面,Jenkins安装配置到此完成!
1.2 jenkins中文设置
jenkins设置简体中文
①依次点击【Manage Jenkins】→【Manage Plugins】,进入到插件管理页面;
②切换到【可选插件】tab,并搜索插件名
Locale plugin
,若搜索后存在则点击安装,若搜索后不存在,则切换到【已安装】tab,看看该插件是否已经安装了;
③安装中文(简体中文)汉化语言包插件
Localization: Chinese (Simplified)
;
④依次点击【Manage Jenkins】→【Configure System】,进入到系统配置页面;
⑤找到【Default Language】(注:必须先安装Locale plugin插件,否则无法找到该选项),设定简体中文,输入
zh_CN
;
简体中文:“zh_CN”,繁体中文:"zh_TW",英文:"en_US"
⑥重启jenkins,地址栏输入:
http://域名/restart
,提示中点击“是”,即可完成重启;
注:以上步骤针对于最新版本
Jenkins 2.341
可能不适用,按照步骤操作后,部分按钮字段仍然显示英文,目前笔者还没找到其他方法可以解决。
2. Postman+Newman生成接口测试报告
详见笔者的另一篇博客:Postman做接口测试并生成接口测试报告
3. 结合Jenkins生成自动化测试报告
3.1 jenkins构建任务
- 打开jenkins首页工作台,点击“新建Item;
- 填写任务名称,选择项目风格,并点击确定;
- 填写项目描述,项目描述为非必填项,可直接进入下一个步骤;
- 切换到【构建环境】,选择“Execute Windows batch command”;
- 输入执行newman生成接口测试报告的命令,可查看Postman做接口测试并生成接口测试报告。需注意,
不能单独只输入newman,前面需加上newman在本地的绝对路径
,不然会报找不到newman的错误。 - 返回首页工作台,选择项目,进入项目构建页面;
- 点击“Build Now”,进行构建,在构建历史中会显示构建时间及构建状态;
- 选择一项构建任务,点击“控制台输出”,可查看构建日志,若为绿色的√,即代表构建成功;
- 上面构建成功后的测试报告也只能在本地查看,那么,如何将在jenkins上查看测试报告呢?请往下看👇
3.2 jenkins展示html测试报告
在jenkins上展示html报告,需要添加一个HTML Publisher plugin插件,把生成的html报告放到指定文件夹,这样就能用jenkins去读出指定文件夹的报告了。
- 下载HTML Publisher plugin插件:打开插件管理→切换到【可选插件】→搜索插件
HTML Publisher
→安装; - 插件安装页面,勾选“安装完成后重启jenkins”;
- 检查插件是否安装成功:进入插件管理页面,切换到【已安装】,搜索
HTML Publisher
,如果存在,则证明安装成功,且要使插件处于启用状态; - 返回首页工作台,点击项目,进入项目构建页面;
- 点击配置,进入项目配置页面;
- 切换到【构建后操作】→点击“增加构建后操作步骤”→下拉选择"Publish HTML reports",然后点击新增;
- 新增后的配置如下:
HTML directory to archive
:在本机上运行完脚本后生成的测试报告路径,这里是相对路径;Index page[s]
:报告名称,这个就是运行完脚本后,在本地报告生成路径下的报告名称,我这里是result.html;Index page title[s] (Optional)
:非必填项;Report title
:显示在jenkins上的名称,默认HTML Report就行; - 配置完成后回到工作空间,构建任务成功后,便可点击查看生成报告。
4. Jenkins构建触发器
背景:当项目中要求以持续压测、定时任务的方式执行脚本时,通过 build now 手动触发的方式进行构建项目就很不灵活,这时就可以用jenkins自带的构建触发器进行自动化构建。
Jenkins(v2.341)本身内置了 5 种构建触发器:
- 触发远程构建
- 其他项目工程构建后触发 Build after other projects are built
- 定时构建 Build periodically
- GitHub hook trigger for GITScm polling
- 轮循构建 Poll SCM
构建触发器入口:进入项目配置→构建触发器
4.1 触发远程构建
选择“触发远程构建” ,填入身份验证的令牌(通常情况下令牌需要经过加密),令牌获取可参博客:不登录触发远程构建详解
作用:无需登录jenkins,使用拼接url+令牌直接访问触发远程构建,在浏览器地址中访问:
http://{IP}:{端口号}/buildByToken/build?job={Job名称}&token={Token}
4.2 其他项目工程构建后触发
作用:配置关注项目工程,在关注的项目构建后(失败或成功),再构建本项目
4.3 定时构建
作用:每隔一段时间触发构建
定时构建语法
* * * * *
星号*中间用空格隔开
第一个*表示分钟,取值0~59
第二个*表示小时,取值0~23
第三个*表示一个月的第几天,取值1~31
第四个*表示第几月,取值1~12
第五个*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
示例:
- 每隔5分钟构建一次:
H/5 * * * *
- 每隔2小时构建一次:
H H/2 * * *
- 每天8点构建一次:
H 8 * * *
- 每天8点~17点,两小时构建一次:
H 8-17/2 * * *
- 周一到周五,8点~17点,两小时构建一次:
H 8-17/2 * * 1-5
- 每月1号、15号的12点各构建一次,除12月:
H 12 1,15 1-11 *
4.4 GitHub hook trigger for GITScm polling
向GitHub提交代码时触发jenkins自动构建,可参考博客:Jenkins+Github实现自动触发构建
4.5 轮询构建
作用:指定一段时间间隔去扫描代码仓库的代码是否有变更,如果有,则触发项目构建。
语法参考定时构建语法。如这里填写的
H/5 * * * *
,表示每5分钟去扫描代码仓库是否有代码变更,如有,则触发项目构建。
版权归原作者 tyh_keepRunning 所有, 如有侵权,请联系我们删除。