Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。

文章目录

1. Jenkins的安装与配置1.1 安装jenkins1.2 jenkins中文设置

2. Postman+Newman生成接口测试报告3. 结合Jenkins生成自动化测试报告3.1 jenkins构建任务3.2 jenkins展示html测试报告

4. Jenkins构建触发器4.1 触发远程构建4.2 其他项目工程构建后触发4.3 定时构建4.4 GitHub hook trigger for GITScm polling4.5 轮询构建

1. Jenkins的安装与配置

注:此安装步骤基于Win10 ,x64环境。

前提:本地需安装好JDK。JDK安装配置教程,可参考:https://blog.csdn.net/moxiaofei1208/article/details/80988626

1.1 安装jenkins

下载Jenkins,地址:https://www.jenkins.io/download/ 双击下载后的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 端口号设置,因为端口号默认为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; 插件安装完成后,需要创建管理员用户,如下图; 实例配置,点击“保存并完成”即可; 配置完成,点击“开始使用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 periodicallyGitHub 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分钟去扫描代码仓库是否有代码变更,如有,则触发项目构建。

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: