jenkins使用指南
重新安装jenkins的步骤:
-
暂停Jenkins服务
-
删掉.jenkins文件
-
下载jenkins2.4.0.1版本:msi文件 [阿里云下载地址](jenkins安装包下载_开源镜像站-阿里云 (aliyun.com))
-
点击msi文件,然后依次点击就行,没有什么坑,唯一可能得坑是,如果之前安装过jenkins,可能默认安装文件夹就是那个以前安装Jenkins的文件夹,更改路径还会报错,但是我后面将旧的文件夹删除后就可以换位置了。
-
账号密码为:xianzhe xianzhe
-
为了构建一个Jenkins的job项目需要的插件: python allure git
-
配置环境变量:如果已经存在一个版本相对新的Jenkins,能够正常使用则无需关心上面的内容
manage jenkins->System->全局属性->勾选Environment variables->键填:key,值为:这里去到你本地电脑里的环境变量去找:首先要找到python的路径:有两个一个是/python,一个是/python/script 还有如果在构造计划里的pytest a.py命令执行报错:说找不到pytest命令,则有两个处理方法:其一找到本地电脑的pytest.exe文件,将这个文件的路径加入到jenkins的path里,其二将这个exe文件复制一份放到python\script\下面。然后再将allure的路径也加进去,这里放两个吧一个是allure\ 一个是allure\bin.
-
然后是继续往下拉,看到Allure report:
key值随便填,value填allure\bin的路径
-
然后到另一个地方配置
manage jenkins ->Tools->Allure Commandline->别名随便填,安装目录:填写\allure的路径,不要勾选install automatically。 然后上面一点:maven:别名随便填,路径填写 \maven或者直接填你环境里的maven_home的路径,mavenhome怎么填这个就怎么填。这个是方便下载的
配置完成,创建job:构建计划
dashboard(首页)->新建item-->freestyle project->点击bulid steps->选择Execute Windows batch command
编写 Execute Windows batch command代码-运行本地Python项目
pip install allure-pytest
cd \Users\ASUS\PycharmProjects\testPlatform/jenkins_demo_lianxi
pytest Test_jenkins_demo_lianxi.py --alluredir=C:\ProgramData\Jenkins\.jenkins\workspace\Jenkins_demo\allure-results --clean-alluredir
命令解析:首先pip install allure-pytest 然后cd跳转到Python项目路径:因为Jenkins的本地工作空间是C盘,我的Python项目也是C盘,所以直接CD 就好,但是如果在不同盘符,则需要 先 F: 更换盘符,再 cd:/xxx/xx
然后到达项目地址后,执行pytest xxx.py --alluredir= 存储地址(这里无需使用双引号包裹)
一般而言,运行到这一步,如果不出错,基本上环境是没有问题的。
如果出错:
1. Python命令或pytest命令找不到 :解决-》Jenkins 环境变量path里没有添加这两个的路径
2. 报错:pytest的命令格式报错:ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
解决-》实际上上面的pip install allure-pytest就是解决这个报错而产生的,所以如果加了还是报错,则检测一下单独使用pytest xx.py时,运行信息里关于Python的版本,这个版本信息首先和jenkins的环境变量里的Python路径所指的Python有没有出入,如果有,更换路径; 其次前往本地cmd :Python -version查看Python版本和运行信息版本有没有出入。
生成allure报告文件,查看allure报告-问题:allure报告为空
在build Steps下面有个构建后操作->选择allure report->然后先是引入眼帘的path:这里的路径有两个要点:
1. 这个路径的用途是获取前面生成的执行数据
2. 这个路径是个相对路径,其起点是当前job的工作空间路径:这个在哪看呢,执行项目,执行信息的开头就有这个执行空间的路径信息:Building in workspace C:\ProgramData\Jenkins\.jenkins\workspace\Jenkins_demo
所以当path:allure-results时,实际获取执行数据的路径是:C:\ProgramData\Jenkins\.jenkins\workspace\Jenkins_demo\allure-results
3.填写完这个path后,点击下面的高级:在Report path:里填写allure-results/html(这里前面都要和上面第一个path保持一致,然后在末尾加上/html)
填写完毕后,运行程序,程序运行成功,但是有一行:allure-results does not exist
而且此时点击Jenkins插件生成的allure报告也都是空的。
原因
这是因为数据生成了,没问题,Jenkins的allure插件,配置啥的也没问题。但是问题在于,jenkins的allure插件去A地址找数据,但是A地址没有数据,或者A地址根本就不存在。
那么这个A地址指的是什么呢,从上面的path填写来说:A地址为:C:\ProgramData\Jenkins\.jenkins\workspace\Jenkins_demo\allure-results
那么我们只需要将数据存放的地址设为这个东西就行:即
pytest xxx.py --alluredir=C:\ProgramData\Jenkins\.jenkins\workspace\Jenkins_demo\allure-results
这样就行了,起码我的问题是如此解决的。
更新-问题描述
-
如果你将数据生成在A地址,然后文件夹名称叫xx,然后在配置抓取数据路径B时,如果没对上,无论你存放数据的文件叫啥,都会报错allure-results do not exist
-
其次,注意path里面不用写/开头,默认添加,写了反而找不到
杂谈
allure+pytest命令:pytest .\Test_jenkins_demo_lianxi.py --alluredir=./allure-report
生成报告的同时清除上一次的报告记录:–clean-alluredir
生成allure报告文件。
读取报告文件:allure serve ./allure-report
注意点
如果jenkins日志没有显示文件 not found ,一切正常,但是allure报告就是没有数据,则可能是数据生成到了别的路径,或压根就是数据生成路径非法。查看一下shell语句里–alluredir=中的路径是否使用了/
为路径分隔符,而不是使用\