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.打开 系统管理- ...
随机推荐
- docx.opc.exceptions.PackageNotFoundError: Package not found at '文件名.docx' 问题解决
编译源程序时,提示:docx.opc.exceptions.PackageNotFoundError: Package not found at '文件名.docx' . 源文件明明存在啊,难道是用的 ...
- 堆、栈、数据区、bss、代码段
一个程序的运行是需要内存的,那么我们平常写的程序的内存都是怎么分配的呢 (1)首先我们要知道,内存是真实存在的,内存是一个物理器件.它时由操作系统管理的,我们平常只要使用它就行了,为了方便管理.操作系 ...
- 如何查看class文件的jdk版本
版权声明:本文为博主原创文章,转载请注明本文链接.文章内容如有错误望能指正,以免误导更多人. https://blog.csdn.net/gnail_oug/article/details/47145 ...
- Linux下nginx反向代理服务器安装与配置实操
1.我们只要实现访问nginx服务器能跳转到不同的服务器即可,我本地测试是这样的, 在nginx服务器里面搭建了2个tomcat,2个tomcat端口分别是8080和8081,当我输入我nginx服务 ...
- JavaScript学习笔记(1)
概念: 运行在浏览器端的脚本语言. 构成: ECMAScript(语法) + DOM(文档对象模型) + BOM(浏览器对象模型) 语法: 1.区分大小写 2.变量是弱类型 数据类型: string ...
- CI CD概念
CI:持续集成 Continuous Integration CD:持续发布 Continuous Delivery (完)
- Python-数据结构-最全六种排序代码实现
1.冒泡排序 def bubble_sort(alist): """冒泡排序""" n = len(alist) for j in rang ...
- Python线程池与进程池
Python线程池与进程池 前言 前面我们已经将线程并发编程与进程并行编程全部摸了个透,其实我第一次学习他们的时候感觉非常困难甚至是吃力.因为概念实在是太多了,各种锁,数据共享同步,各种方法等等让人十 ...
- 神秘的角落之张东升做了Java老师,悲剧就这样开始了
故事背景 主人公张东升是某大学某软件学院的一名Java老师,他平时给学生讲课风格古怪呆板,加上他普通话不标准,一口家乡话,每次给学生讲课都分两种情况: 第一种情况:手持课本,把本节要讲的内容按书本 ...
- css如何让文字不换行显示?
在CSS中,可以通过white-space属性来实现文字不换行显示:只要将white-space属性的值为nowrap就可强制文字不换行. white-space属性指定元素内的空白怎样处理.它有以下 ...