一、 安装jenkins环境

1、 安装JDK,并配置环境变量

2、 安装apache tomcat

Jenkins+github+Allure配置持续集成本地环境 - 图2

3、 下载jenkins.war,把文件【jenkins.war】复制到tomcat的webapps文件夹中

Jenkins+github+Allure配置持续集成本地环境 - 图3

4、 再进入到tomcat的bin目录下,找到名为【startup.bat】的文件,双击启动这个bat文件,来启动tomcat服务,启动后dos窗口不要关闭。直到出现【 Jenkins is fully up and running】,后面可以通过打开cmd窗口,打开本地项目webapps的文件夹路径,输入【java -jar jenkins.war】的方式启动

Jenkins+github+Allure配置持续集成本地环境 - 图4
Jenkins+github+Allure配置持续集成本地环境 - 图5

5、 打开浏览器,输入ip地址【http://localhost:8080】回车就打开tomcat主页,再加入jekins进入【http://localhost:8080/jenkins】,就打开了jenkins网站,jenkins是一个定时执行程序的网站。(初次进入需要解锁jenkins,安装插件,新建管理员等,按照提示操作即可)

Jenkins+github+Allure配置持续集成本地环境 - 图6
Jenkins+github+Allure配置持续集成本地环境 - 图7

二、 jenkins插件安装

1、在jenkins的插件管理安装插件Allure

Jenkins+github+Allure配置持续集成本地环境 - 图8

2、系统管理-全局工具配置-Allure Commandline进行如下配置

Jenkins+github+Allure配置持续集成本地环境 - 图9

三、Jenkins持续集成

1、准备自动化项目,上传至github

Jenkins+github+Allure配置持续集成本地环境 - 图10

2、新建Jenkins项目

Jenkins+github+Allure配置持续集成本地环境 - 图11

3、Jenkins相关配置

①General配置

勾选“Github project”,输入Project url
Jenkins+github+Allure配置持续集成本地环境 - 图12

② 源码管理配置

1) 勾选Git,输入Repository URL,点击Add,点击Jenkins
Jenkins+github+Allure配置持续集成本地环境 - 图13
2) 弹出添加凭据,选择certificate,输入自己的ssh秘钥
Jenkins+github+Allure配置持续集成本地环境 - 图14
Jenkins+github+Allure配置持续集成本地环境 - 图15
3) 构建触发器配置
勾选Poll SCM,日程表中填写 /1
Jenkins+github+Allure配置持续集成本地环境 - 图16
备注:Poll SCM:定时行的执行,源码有变化才会执行
日程表参数:
第一个参数代表的是分钟 minute,取值 0~59;
第二个参数代表的是小时 hour,取值 0~23;
第三个参数代表的是天 day,取值 1~31;
第四个参数代表的是月 month,取值 1~12;
最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天
举例:
每10分钟构建一次:H/10
/10
每天8点构建一次:0 8
每天8点~17点,两小时构建一次:0 8-17/2

周一到周五,8点~17点,两小时构建一次:0 8-17/2 1-5
1-6月中每月1号、30号各构建一次:H H 1,30 1-6 *

③ 构建配置

1) 根据平台选择执行的命令类型
Jenkins+github+Allure配置持续集成本地环境 - 图17
Jenkins+github+Allure配置持续集成本地环境 - 图18
2) 配置pytest环境变量(windows为例)
Jenkins+github+Allure配置持续集成本地环境 - 图19
Ps:不加call xxx,exit 0 会报错Windows批处理失败,构建失败
备注:
Mac的pytest可执行目录举例:
export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.8/bin

④ 报告配置

1) 点击增加构建后步骤,选择Allure Report
Jenkins+github+Allure配置持续集成本地环境 - 图20
2) 在path中输入allure报告的xml所在的目录名
Jenkins+github+Allure配置持续集成本地环境 - 图21
3) 点击高级,在Report path中输入allure-report
Jenkins+github+Allure配置持续集成本地环境 - 图22
Jenkins+github+Allure配置持续集成本地环境 - 图23

⑤ 邮件配置

1) 发件人测试邮件配置
点击“系统管理” -》“系统设置”,找到Jenkins Location,在“系统管理员邮件地址”输入发件人测试邮箱地址
Jenkins+github+Allure配置持续集成本地环境 - 图24
找到邮件通知,输入SMTP服务器,如smtp.163.com,输入用户名默认邮件后缀,如@163.com。点击高级,输入用户名为发件人测试邮箱地址,密码为客户端授权密码(若不知道客户端授权密码,可自行百度)
Jenkins+github+Allure配置持续集成本地环境 - 图25
勾选通过发件测试邮件测试配置
输入Test e-mail recipient为收件邮箱,点击Test configuration,会提示Email was successfully sent。收件人邮箱应该收到了邮件。
Jenkins+github+Allure配置持续集成本地环境 - 图26
Jenkins+github+Allure配置持续集成本地环境 - 图27
2) 发件人正式邮件配置
点击“系统管理” -》 “系统设置”,找到Extend E-mail Notification,输入SMTP服务器,如smtp.163.com,输入用户名默认邮件后缀,如@163.com
点击高级,输入用户名为发件人邮箱地址,密码为客户端授权密码(若不知道客户端授权密码,可自行百度),选择Default Content Type为HTML
Jenkins+github+Allure配置持续集成本地环境 - 图28
Jenkins+github+Allure配置持续集成本地环境 - 图29
将以下html代码复制到Default Content中:

<!DOCTYPEhtml>

来自XXX.Jenkins的邮件通知


构建信息
  • 项目名称 : ${ PROJECT_NAME }
  • 触发原因 :${ CAUSE }
  • 构建日志 : ${ BUILD_URL }console
  • 单元测试报告 :${ BUILD_URL }testReport/
  • 工作目录 : ${ PROJECT_URL }ws
构建日志: ${ BUILD_LOG }

3) 收件人配置
收件人需要在项目中进行配置。
进入项目—》点击配置—》点击构建后操作,点击增加构建后操作步骤,点击Editable Email Notification
Jenkins+github+Allure配置持续集成本地环境 - 图30
点击右下角,高级 -> 高级设置 -> 高级
Jenkins+github+Allure配置持续集成本地环境 - 图31
Jenkins+github+Allure配置持续集成本地环境 - 图32
输入Recipient List为收件人,多个收件人用英文逗号隔开
Jenkins+github+Allure配置持续集成本地环境 - 图33

4、构建

①自动构建

1)在配置触发器时,输入的/1 * ,表示Jenkins会每分钟检索GitHub,看是否有代码更新,如果有,则会自动构建。
2)Jenkins刚开始是没有任何代码的,当我们保存后,会自动检测GitHub,如果之前上传过代码,会自动构建。
3)等待构建完成,点击右侧图标,即可查看报告
Jenkins+github+Allure配置持续集成本地环境 - 图34

②手动构建,就是手动在项目主页点击构建

Jenkins+github+Allure配置持续集成本地环境 - 图35

③构建成功

Jenkins+github+Allure配置持续集成本地环境 - 图36
Jenkins+github+Allure配置持续集成本地环境 - 图37
Jenkins+github+Allure配置持续集成本地环境 - 图38
Jenkins+github+Allure配置持续集成本地环境 - 图39

5、 成功后没有发送邮件

Jenkins+github+Allure配置持续集成本地环境 - 图40
发现是没有设置trigger点,默认是在任务失败的时候才会发邮件
在任务选择”Editable Email Notificaiton”以后,点击“高级”,然后在Add a Trigger下来列表中选择一个trigger点,比如”Success”,这样任务成功也会发送邮件。
Jenkins+github+Allure配置持续集成本地环境 - 图41

6、 发送成功

Jenkins+github+Allure配置持续集成本地环境 - 图42

7、 参考博文

https://blog.csdn.net/qq_34136709/article/details/106273049
https://blog.csdn.net/vale_/article/details/106496335
https://blog.csdn.net/l631068264/article/details/41990409
https://www.cnblogs.com/hchengmx/p/10876199.html

四、备注

启动ngrok服务,获得本机8080端口的面向外网的url
① 因为Jenkins的地址是http://localhost:8080,这个地址只能在本机访问,GitHub是访问不到这个网址的,所以要把本机的8080端口也能让外网访问的到暴露给外网。
② 通过这个网址下载ngrok: https://ngrok.com/download
③ 打开ngrok.exe文件,运行 ngrok.exe http 8080,暴露出8080端口号。
注意: 这个只能8小时之内有效。
④ 得到url: http://xxxxxxx.ngrok.io
Jenkins+github+Allure配置持续集成本地环境 - 图43