jenkins配置--上传代码,定时执行用例,发送测试报告
1.安装条件:jdk1.8以上的,百度jenkin进入官网--download ,根据需要的版本下载
2.jenkins概念:持续集成,jenkins开源属于插件式形式进行管理的,选择性的装插件,支持可视化web系统
把代码放到svn--jenkin拉取svn上的代码/直接拉取本地代码
3.people :用户,Build Histry :构建历史,project relationship :模块,check file fingerprint :日志输出,凭证
4.使用步骤:
设置--系统设置(邮件设置,jenkins路径设置)
安全配置---(选 Logged-in users can do anything/Anyone can do anything),如果配置错误不小心点了保存或者端口被占用如何解决?
解决方法:
安全配置错误:找到jenkins安装目录(jenkins)里面找到config.xml文件查找到 authorizationStrategy 标签里面的内容删掉即可
端口被占用则修改:jenkins安装目录(jenkins)里面找到jenkins.xml文件查找到 arguments 修改 HttpPort=8080
5.全局工具配置:
Git:
name :git名称
Path to Git executable:代码要在哪里运行,那台服务器上的git的地址,需要配到执行文件一节,如:c:\program files\Git\bin\git.exe(该路径 是windows),linux(/opt/Git/bin/git.exe)
6.前提是需要安装的插件:
HTML Publisher Emain Exten,Git,Email Extension Publisher, Subversion Pug-in(svn) /Subversion ,
7.使用步骤:
NEW 任务/新建项目--输入任务名称(Python-Api-TestOnes)选类型(构建一个自由风格的软件项目/Freestyle project)--确定
General:对该项目的描述(API自动化测JOB)
下方如果是 GitHub 项目就打钩 输入GitHub 项目地址
Discard old builds:是否选择丢弃旧的构建/关闭构建(原因:创建job目录的时候jenkins目录job下面创建一个文件夹,服务器资源被占用越来越多,因此建议勾选)
/var/lib/jenkins/jobs/pythonapitetsone/builds 下的目录就会越来越多,因此保存构建天数为 30天
8.源码管理可选:无 Git Subversion
Git :使用存放代码的地址,设置凭证--点击立即构建(svn相同)
9.拉代码后进入配置,构建触发器:
1)触发远程构建 (例如,使用脚本)
2)其他工程构建后触发(比如开发提交代码后自动触发打包执行)
3)定时构建(写一个定时器)
如果都不选则需要手动触发
10.构建环境
和workspase下面项目相关
Delete workspace before build starts:每次构建前把workspase中删除然后去svn或者git重新拉最新的下来
11.构建
接下来就是要设置runtest.py文件来执行所以的用例
选择执行windos批处理命令,输入执行的命令:python run_test.py
关键:要把run_test.py放在workspase工程主目录下
12.为了避免系统自动寻找并使用Python2,而项目使用的是python3,因此需要把python3的路径/你所用的python全路径粘进去
如:D:\Python\Python37\Scripts\python run_test.py(仅限于有多个python时使用该方法)--->指定调用哪个python,保存13.保存之后进行立即构建,构建完之后就会自动去执行run_test.py文件
14.执行完成后回到job页面(工程页面),进入workspase
15.查看HTML报表,为了不用进入到目录下面去看需要增加job配置内容:
构建后操作-->
15.新增
HTML directory to archive(去哪里找相对于workspase路径reports)
把Index page[s](哪个文件)中的index.html 改成 reports.html
Report title(名字):pythonapttest Report,保存后再次构建
16.构建之后就会在job的菜单中显示报告文件
17.接下来就是构建完后如何将报告以邮件的形式发送到开发或者对报表较为关心的人
进入job配置的构建后操作tag列表,新增E-mail Notification,
Recipients(写入收件人的邮箱)多个人以英文的逗号隔开
但是这种方法只有在失败的时候才会发,成功不会将邮件发出去。
18.因此多数都会使用扩展板 Editable Email Notification,使用跨展板之前将新增这个不改变任何东西进行save,然后去配置
19.回到系统管理系统设置:包含(发件服务器,收件服务器),找到Extended E-mail Notification
首先配置发件服务器:qq发件服务器地址统一是:smtp.qq.com,如果是其他邮箱找运维或者开发拿smtp地址配上,
点击高级(advanced),打钩Use SMTP Authentication(指定发送邮箱):359747258@qq.com
特别注意:密码不是qq邮箱的密码,而是在邮箱页面设置里面进入账户列表(POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务)中的POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?)和
IMAP/SMTP服务 (什么是 IMAP,它又是如何设置?)服务打开,如图
打开之后就会告知密码,把密码粘贴到password中即可
然后勾选Use SSL
SMTP port默认的端口是:465(仅限qq)
Default Content Type :选Plain Text (text/plain)/HTML (text/html)
配置默认的收件人Default Recipients:
发件邮箱:
要与jenkins管理员邮箱保持一致
配完后点击保存,如果配置不符合规则会报415认证错误,
20.配置完上面的操作后进入job 配置Editable Email Notification
如果已配置发件人Project From保持空白,如果要输入就写跟管理员的邮箱一致(发件人)
因为指定了收件人因此Project Recipient List中不做修改
Project Reply-To List默认回复类型也不做修改
邮件的类型(Content Type)选:Both HTML and Plain Text,及支持HTML又支持纯文本的
Default Content(邮箱的主题)也可以使用默认或者根据自己需要来修改
Attachments:可以把报告以附件的形式发送到我的邮件中,因此需要知道文件的相对路径
reports/reports.html
然后点开Advanced Setting... 查看Triggers,删掉默认的Triggers,任何add Triggers 选 Always(不管什么时候都发),删掉Developers,只发给Recipient List
这里的Recipient List 的邮箱好可直接粘到Project Recipient List中多个以逗号隔开就行如图
保存立即构建就会有邮件发送到指定的邮箱中
构建后的日志
如有保存注意检查构建后的环境Attachments格式是否写对
jenkins配置--上传代码,定时执行用例,发送测试报告的更多相关文章
- git+jenkins持续集成一:git上传代码
先注册一个账号,注册地址:https://github.com/ 记住地址 下载git本地客户端,下载地址:https://git-scm.com/download/win 一路next傻瓜安装,加入 ...
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
- git向码云上传代码总结
1.下载git windows下载地址:https://git-for-windows.github.io/ 2.安装git 一路确定 3.配置git 如果你要使用ssh上传代码,你需要本地生成ssh ...
- 如何用git上传代码到github详细步骤
注册账户 这个小菜鸟带着心跳写的第一篇博客! 还请大家多多提点! 想使用github,第一步肯定是要注册github账号,有了账号就是直接登录啦 可以直接打开http://github.com页面注册 ...
- 初次使用git上传代码到github远程仓库
https://blog.csdn.net/loner_fang/article/details/80488385 2018年05月28日 21:02:31 蒲公英上的尘埃 阅读数:697 因为最近在 ...
- Github 上传代码的两种方式
上传本地代码/文件->Github 折腾了半天时间... Github前期准备部分 1)登录github,新建一个 repository 2)repository 命名 3)Github是一个托 ...
- 教你上传代码到码云(与github一样)
以下所有操作都在命令行进行 1 git 配置 git config --global user.name “用户名” git config --global user.email “邮箱”2 生成公钥 ...
- 使用vscode来代替git上传代码到仓库
一.在上传前的注意事项 1. 要配置几个文件: (1)在根目录添加 .gitignore 文件:里面添加一些上传时需要忽略的文件 (2)在根目录添加 README.md 文件,这个用来说明项目的 ...
- gitlab上传代码及报错总结
将目录变成git可管理的仓库 git init 将文件添加到暂存区中 git add README.md 将文件提交到仓库 git commit -m "fisrt commit" ...
随机推荐
- netcore一键部署到linux服务器以服务方式后台运行
@font-face { font-family: octicons-link; src: url("data:font/woff;charset=utf-8;base64,d09GRgAB ...
- CorelDRAW常用工具之橡皮擦工具
很多作图以及设计软件都会自带橡皮擦工具,但对于专业做平面设计的小伙伴来说,普通的橡皮工具肯定是无法满足日常作图需求的,今天来看看CorelDRAW的橡皮擦能玩出什么花样来. 1.擦除对象 CorelD ...
- Mac升级资料丢失怎么办?EasyRecovery能恢复嘛?
随着越来越多的用户选择性能更高的mac笔记本来工作,一般情况下,为了保证用户有一个很好的使用体验,Mac系统会在一定的时间内进行系统的更新,弥补前一个版本的不足.结果就有一些用户反应Mac升级后,电脑 ...
- 慢SQL优化:where id in (select max(id)...) 改为join后性能提升400倍
背景 有两张表,都是主键递增,类似于主表和明细表: statistics_apply:统计申请表,主键applyId,7万多条记录 statistics_apply_progress:统计申请进度表( ...
- 返回当前类所有常量的Key=>value 集合
<?php class Test { const A = '1'; const B = '2'; const C = '3'; const D = '4'; const E = '5'; con ...
- 执行文件异常报错:ImportError: attempted relative import with no known parent package
这个问题困扰了我很久了,网上的解决方法都很一致,找来找去都是一样的解决方法,在导入包的文件和执行文件加入 1 print('__file__={0:<35} | __name__={1:< ...
- Python中的静态属性、实例属性、静态方法、实例方法之间的区别
- LaTeX中的浮动体
浮动体代码及注释: 显示效果:
- 自定义orm字段
class MyCharField(models.Field): def __init__(self,max_length,*args,**kwargs): self.max_length = max ...
- 【NOIP2015模拟11.5】JZOJ8月5日提高组T3 旅行
[NOIP2015模拟11.5]JZOJ8月5日提高组T3 旅行 题目 若不存在第\(k\)短路径时,输出"Stupid Mike" 题解 题意 给出一个有\(n\)个点的树 问这 ...