什么是Jenkins?
Jenkins是一款能够自动化部署,自动化运行测试用例的一个平台。
每次发布版本,可以在Jenkins 平台自动执行代码。
也可以设置定时任务,每天自动执行自动化代码,执行完成之后发送测试报告。
搭建Jenkins
Jenkins可以在Windows,Linux,Mac 平台搭建。搭建方式原理一样,下面给大家演示在Windows平台上搭建。
官网:https://www.jenkins.io/zh/
下载地址: https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/latest/
下载之后是一个 war 格式的文件。
jenkins.zip
启动Jenkins
打开命令行,运行命令
java -jar jenkins.war的文件路径。
访问配置Jenkins
打开浏览器,在浏览器中输入 地址 http://127.0.0.1:8080/ 启动成功 浏览器中第一次会解锁Jenkins
第一次使用 Jenkins 会生成初始密码
浏览器中新建一个标签页,粘贴文件路径 打开,可以看到默认的密码。
复制文件中的密码,粘贴到解锁页面。
粘贴密码之后,点击【继续】
安装插件
进入Jenkins之后,弹出安装插件对话框,选择 【安装推荐的插件】
Jenkins会自动从网上下载一些常用的插件。
下载速度的快慢跟自己的网络速度有关。
如果有个别安装失败,不影响,点击【继续】,跳转到用户注册页面。
注册管理员
配置
使用默认的配置
配置完成之后,开始使用Jenkins
如果没有安装成功,使用服务器的版本
http://49.233.108.117:8080/signup
注册账号即可使用。
将代码上传到 git 仓库
将代码放到远程仓库中,首先创建一个 仓库。
创建代码仓库
创建好远程 仓库。
本地已经写好的代码上传到仓库
cd 自己的项目根目录下
初始化
git init
添加远程仓库地址
git remote add origin https://gitee.com/imzack/apitest420.git
https://gitee.com/imzack/apitest420.git
这个地址一定要改成自己的地址
同步服务器配置
第一次一定要先跟服务器同步配置
git pull origin master
添加并提交代码
git add .
将当前路径下所有文件添加。
先在本地进行提交。
git commit -m "第一次提交"
将代码使用 git push origin master
指定上传到 master分支
git push origin master
上传成功可以看到已经有代码了。
配置自动化代码运行
准备代码
打开远程仓库,将我的代码同步到自己的仓库
https://gitee.com/imzack/auto_aptest
点击 【Fork】同步到自己的仓库中。
可以将代码同步到自己的仓库中。
jenkins 配置
在Jenkins中新建项目,
点击【新建项目】,在打开的页面中 输入项目名称,
选择【FreeStyle project】
配置源码
我们的代码都是放在git服务器上,这里选择git源码管理。
在仓库中输入自己的仓库地址
配置自己的账号信息
配置好自己的仓库之后,需要将自己的账户信息配置进来。
添加完成之后。选择自己对应的账号和密码。
构建触发器
在构建触发器中可以设置定时任务。比如可以定时让自动化代码每天的凌晨执行。
或者设置定时任务 每周末执行。
定时任务主要有5个参数组成
- 分钟 取值(0-59)
- 小时 取值(0-23)
- 日 取值(1-31)
- 月 取值(1-12)
- 周几 取值(0-7)0,7都是表示周日。
基本使用
4月21日周四2:15 执行
15 2 21 4 4
* 匹配所有
每年的 4月20日22:10 执行
10 22 20 4 *
每周的周五晚上10:30 运行
30 22 * * 5
每天晚上 11:30 执行
30 23 * * *
m,n 指定时段
每周 周六,周日 晚上 10:30执行
30 22 * * 6,7
每月1日,15日 中午12:00 执行
0 12 1,15 * *
每天的8:00,12:00,18:00 执行
0 8,12,18 * * *
m-n 指定区间
每周一至周五的早上8:00 执行
0 8 * * 1-5
指定区间运行的时候,一般跟 /
指定执行的频率。
每天的 8:00-18:00 每隔1个小时执行一次
0 8-18 * * *
每天的 8:00-18:00 每隔2个小时执行一次
0 8-18/2 * * *
Jenkins分散负载
在定时任务中,Jenkins会建议我们分钟这个字段使用H 而不是具体的分钟数。这里的原因是:Jenkins 可能会同时执行很多任务,当所有的任务都在同一时刻执行的时候,服务器可能会受不了大的负载而宕机。设置为H 可以让Jenkins自动选择时候,如果同时有很多任务执行,Jenkins可以在其他任务执行完成之后,再执行你的任务。
构建
构建指的就是去执行代码。这里 主要有两种执行方式
- 执行Windows批处理命令
- 执行shell
如果你的Jenkins是在自己的Windows电脑上运行,选择 【执行Windows批处理命令】。
如果你Jenkins是在Linux服务器或者Mac 系统上执行,使用【执行shell】
执行命令
执行shell
python3 main.py
执行Windows批处理命令
python main.py
Linux 和 Mac 平台上默认都安装的有Python2,并且python2不能卸载,我们开发的时候使用的是Python 3,Linux和mac 使用python 的时候需要用python3 来执行。
运行的时候可能会出现的问题
运行项目的时候,会发现项目执行失败。
打开构建历史中的记录,查看错误提示,打开控制台输出,查看报错信息。
根据控制台中的运行日志
可以发现执行错误的原因
原因是找不到pytest 模块
解决办法
因为服务器上没有找到对应的pytest 模块,所以需我们去服务器上进行安装。
命令行中安装
pip install pytest
pip install requests
pip install pytest-html
再次执行 Jenkins,可以在执行结果中看到对应的内容。