jenkins集群(二)(master --> slave) -- allure自动化测试报告部署
一、前提
1、环境
1)已经部署好了jenkins环境,包括jenkins的“全局工具配置”也配好了。
2、master与slave的简单的概念
1)master:jenkins部署所在的机器
2)slave:除开master,全都是slave,也就是master只有一个,slave可以有很多个。slave机器不需要安装jenkins,因为master与salve之间的联系和调动,靠的是master提供web接口来让用户管理job和slave,而job可以在master本机运行,也可以被分发到各个slave去执行。
可以看看这篇文章,就较为详细的讲解。https://www.cnblogs.com/itech/archive/2011/11/11/2245849.html
二、我的环境
1、阿里云服务器,Linux CentOS8
2、jenkins2.204.2,部署在阿里云的Linux系统上的(在jenkins集群中,这个就是master)
三、部署allure步骤
1、先下载jenkins的Allure插件
【jenkins主页】 --> 【插件管理】-->
我的这个已经安装了。
1)安装方式1:在线安装
2)安装方式2:离线包安装
3)后续:jenkins升级站点可以修改成国内镜像源,下载速度会比较快:http://mirror.xmission.com/jenkins/updates/update-center.json
2、slave机器(也就是,想要用来执行测试用例的机器)上安装 Allure Commandline
点击跳转下载地址
1)配置jenkins的Allure Commandline:【jenkins主页】 --> 【系统管理】 --> 【全局工具配置】
3、新建节点(新增slave)
1)新增slave:【jenkins主页】 --> 【系统管理】 --> 【节点管理】 --> 【新建节点】
2)填写slave的基本信息
如果没有java web start那个选项:【jenkins主页】 --> 【全局安全配置】--> 【代理】
4)填写节点属性
此时,slave就配置好了,下一步就是连接slave
4、连接slave
1)下载相关文件
2)让此slave连接master
3)连接成功
4)连接失败 -- port : 38683端口报错
如果遇见这个错误,就去把服务器的 38277 端口的防火墙打开,阿里云服务器的话,去安全组里面把 38683 端口的防火墙打开。
还要去全局安全配置中,把随机端口号指定为这个端口。
4、安装源码管理器 git:http://updates.jenkins-ci.org/download/plugins/git/
去上面的网址中把离线插件下载下来,然后去jenkins的插件管理功能中导入git插件。git-client.hpi、git.hpi、github.hpi
四、新建带有allure的job
1、建立 “文件夹”,专门放一个项目:【jenkins主页】 --> 【新建任务】
1)
2)填写信息
3)文件夹(项目)新建成功
2、新建job:进入刚才新建的项目内 --> 【item】
1)新建job
2)填写job信息
3)选择工程使用的jdk
4)源码管理。用svn或者git,可以实时拉取代码来构建。这个可以再独立一篇讲
5)构建触发器:allure在构建完会输出一些 用例数据 的源码
6)构建后的操作:把构建完allure输出的源码文件执行 allure generate 命令来转换为 html报告
备注:关于路径的问题(很重要,便于理解下方的allure报告的路径问题)
slave路径 == 新建slave时候填写的工作目录
项目的路径 == slave路径/workspace/项目名
此工程的路径 == 项目目录 + 项目目录/项目名
好、目录介绍完了。在介绍 jenkins 中 引用目录的方法
A:slave是Linux: ${WORKSPACE} (格式严格)
B:slave是Windows: %WORKSPACE% (格式严格)
所以,批处理命令中 --alluredir=%WORKSPACE%result (这个就是allure报告源码目录)
A:allure报告源码目录:H:\jenkins_workspace\ui_auto_test\workspace\Autotest_web_open\common\result
B:allure的HTML报告目录:H:\jenkins_workspace\ui_auto_test\workspace\Autotest_web_open\common\report
五、检查成果
所有重要步骤全部介绍完了。
只要构建工程过后,就是这个界面这样子了。
1、工程的总体界面
2、allure报告界面
注意:此处有一个大坑。我之前用的QQ浏览器在jenkins中查看的allure报告,但是,allure报告总是加载不出来,一直转圈圈。其实不是部署出了问题,而是QQ浏览器的问题
只要用谷歌浏览器打开,就可以了。
jenkins集群(二)(master --> slave) -- allure自动化测试报告部署的更多相关文章
- ActiveMQ集群支持Master/Slave模式
现在ActiveMQ, 在Failover方面有两种解决方案:Pure Master Slave和Shared File System Master Slave. 先看Pure Master ...
- jenkins集群(一) -- 在Linux上部署
一.安装好jdk.maven.git 1.安装jdk并配置好全局变量 2.安装maven:yum install maven 3.安装jdk:yum install git 二 .安装jenkins ...
- 快速搭建Jenkins集群
关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故 ...
- Jenkins集群下的pipeline实战
关于Jenkins集群 在<快速搭建Jenkins集群>一文中,我们借助docker快速搭建了Jenkins集群,今天就在这个集群环境中创建pipeline任务,体验Jenkins集群下的 ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境
写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...
- jenkins~集群分发功能的具体实现
前一讲主要说了jenkins分发的好处<jenkins~集群分发功能和职责处理>,它可以让具体的节点干自己具体的事,比如windows环境下的节点,它只负责编译,发布windows的生态环 ...
- Jenkins 集群搭建
一.前言 Jenkins是当下比较流行的一款功能强大的持续集成工具,它支持搭建集群,来提高多项目的构建速度,模式为主从模式,master会将任务分配到各个从节点进行并发构建,从而提高速度,下面介绍一下 ...
- jenkins~集群分发功能和职责处理
jenkins的多节点集群 在进行自动化部署时,你可以按着它们的项目类型去进行分别部署,这样即可以达到负载均衡,又可以达到一种职责的明确,比如像java的项目你可以使用linux服务来进行部署(拉代码 ...
- 搭建jenkins集群
搭建jenkins集群是为了解决单点服务器存在的性能瓶颈,也有业务的需要,比如:java服务打包的环境我们需要linux,ios打包的服务器需要mac机. 一.创建agent节点 1.打开 系统管理- ...
随机推荐
- 7-4 List Leaves (25分) JAVA
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. I ...
- Python三大器之迭代器
Python三大器之迭代器 迭代器协议 迭代器协议规定:对象内部必须提供一个__next__方法,对其执行该方法要么返回迭代器中的下一项(可以暂时理解为下一个元素),要么就引起一个Stopiterat ...
- eclipse clone克隆github远程库工程到本地
项目作者把项目push到github远程库,其他用户可以把项目克隆到本地: eclipse里的操作具体如下: File -> Import... 找到Git 选择 Project from Gi ...
- mackdown基础语法
目录 前言 二.Markdown基本语法 前言 由于有些语法无法在博客园展示,推荐使用Typora解锁全套,下载地址:https://www.typora.io/ Markdown是一种可以使用普通文 ...
- SpringBoot-读取classpath下文件
文章目录 开发过程中,必不可少的需要读取文件,对于打包方式的不同,还会存在一些坑,比如以jar包方式部署时,文件都存在于jar包中,某些读取方式在开发工程中都可行,但是打包后,由于文件被保存在jar中 ...
- pdfjs优化,实现按需加载,节省流量和内存
1 问题 当使用pdfjs来实现预览功能的时候,遇到了2个问题: 一是带宽占用过大,会下载整个pdf文件,这对部署在公网的应用来说,成本压力很大,因为云服务带宽是很贵的. 二是内存占用过大,一个80M ...
- 并发工具CyclicBarrier源码分析及应用
本文首发于微信公众号[猿灯塔],转载引用请说明出处 今天呢!灯塔君跟大家讲: 并发工具CyclicBarrier源码分析及应用 一.CyclicBarrier简介 1.简介 CyclicBarri ...
- 苹果手机history.back()返回不刷新问题
苹果手机,a页面打开b页面,b页面使用history.back(-1)返回a页面时,a页面不刷新,可在a页面添加以下代码: var isPageHide = false; window.addEven ...
- (五)ELK Logstash output
# 输出插件将数据发送到一个特定的目的地, 除了elasticsearch还有好多可输出的地方, 例如file, csv, mongodb, redis, syslog等 output { if [t ...
- python中pymysql executemany 批量插入数据
import pymysqlimport timedb = pymysql.connect("IP","username","password&quo ...