Jenkins

用Pytest+Allure生成漂亮的HTML图形化测试报告

╄→гoц情女王★ 提交于 2020-04-24 23:27:40
本篇文章将介绍如何使用开源的测试报告生成框架Allure生成规范、格式统一、美观的测试报告。 通过这篇文章的介绍,你将能够: - 将Allure与Pytest测试框架相结合; - 执行测试之后,生成Allure格式的测试报告。 1、Allure测试报告介绍 Allure 是一款非常轻量级并且非常灵活的开源测试报告生成框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。下面就Pytest如何与Allure集成做详细介绍。 2、Pytest框架集成Allure Pytest是Python的单元测试框架,非常方便和易用。强烈推荐对于用Python进行测试工作的小伙伴使用这个测试框架,相比与Python自带的UnitTest好用太多太多。后面我将用一整篇文章介绍Pytest测试框架。今天我们主要是介绍如何将测试报告生成工具Allure集成到Pytest中。 2.1 安装Allure Pytest Adaptor Allure Pytest Adaptor是Pytest的一个插件,通过它我们可以生成Allure所需要的用于生成测试报告的数据。安装 pytest-allure-adaptor 插件方法: 1 2.2 使用Allure Pytest Adaptor改造基于Pytest的测试用例 pytest-allure

Jenkins发布后钉钉机器人自动通知

a 夏天 提交于 2020-04-24 14:03:05
一、前言 最近使用Jenkins进行自动化部署,但是发布署后,并没有相应的通知,虽然有邮件发送通知,但是发现邮件会受限于大家接受的设置,导致不能及时看到相关的发布内容。由于之前有用Gitlab推送消息到钉钉的方式,因此考虑Jenkins是否能通知到钉钉的实现方式。 转自: https://www.cnblogs.com/jianxuanbing/p/7211006.html 二、使用钉钉推送的优势 实时提醒项目参与人员信息的更新 便于查看 三、配置 3.1 钉钉的配置 3.1.1 进入钉钉群 进入某个群->点击机器人图标 注意:如果你不是群主,且群主开启了仅群主可管理,那么你将无法创建机器人 3.1.2 选择自定义机器人并设置信息 选择自定义机器人 填写机器人信息 3.1.3 复制Hook地址 注意:此处的webhook将用于Jenkins当中的参数配置 以上为钉钉设置。 3.2 Jenkins的配置 3.2.1 安装插件 进入系统管理 进入管理插件 搜索插件(dingding)并安装 安装插件后返回首页 3.2.2 配置Webhook 进入Jenkins Job 进入 Job 配置 前往"构建后的操作" 点击“增加构建后操作步骤”->选择“钉钉通知配置器” 设置Webhook 注意:Jenkins URL配置中需要在最后添加"/",要不然会导致拼接的Url出错

安装jenkins

社会主义新天地 提交于 2020-04-24 09:11:59
mkdir /jenkins && cd /jenkins yum -y install java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el7_7.x86_64 java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64 javapackages-tools-3.4.1-11.el7.noarch java-1.8.0-openjdk-devel-1.8.0.242.b08-0.el7_7.x86_64 wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war wget http://ftp.cuhk.edu.hk/pub/packages/apache.org/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz tar zxf apache-tomcat-9.0.34.tar.gz mv apache-tomcat-9.0.34 tomcat rm -rf ./tomcat/webapps/ROOT/\* unzip jenkins.war -d ./tomcat/webapps/ROOT/ ./tomcat/bin/startup.sh cat /root/.jenkins

Jenkins持续集成01—Jenkins服务搭建和部署

会有一股神秘感。 提交于 2020-04-24 05:57:19
一、介绍Jenkins 1、Jenkins概念   Jenkins是一个功能强大的应用程序,允许 持续集成和持续交付项目 ,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。 2、Jenkins目的 ① 持续、自动地构建/测试软件项目。 ② 监控软件开放流程,快速问题定位及处理,提示开放效率。 3、特性 ① 开源的java语言开发持续集成工具,支持CI,CD。 ② 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。 ③ 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。 ④ 分布式构建:支持Jenkins能够让多台计算机一起构建/测试。 ⑤ 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。 ⑥ 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。 4、产品发布流程 产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线 持续集成 (Continuous integration,简称CI)

2019 DevOps 必备面试题——持续集成篇

允我心安 提交于 2020-04-24 05:53:29
原文地址: https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君:CODING 戴维奥普斯 Q1:什么是持续集成? 我会建议你以持续集成的最小定义作为开始来回答这个问题。这是一种研发实践,需要开发人员每天多次将代码集成到共享代码库中。然后通过自动构建来验证每次代码的修改,以便团队尽早发现问题。 我建议你解释一下在以前的工作中是如何实施持续集成的,可以参考以下示例: 在上图中: 1、开发人员将代码 clone 至私有工作区。 2、完成编码后,他们将更改提交至共享代码库中(版本控制仓库)。 3、CI 服务器监视代码仓库并在发生更改时检出更改。 4、紧接着 CI 服务器提取这些变更进行构建、运行单元以及集成测试。 5、CI 服务器会立即告知团队构建成功与否。 6、如果构建失败,CI 服务器会向团队发送告警。 7、研发团队将尽快解决问题。 8、这个过程会不断重复。 Q2:为什么研发团队需要开发与测试的持续集成? 对于这个答案,你应该关注持续集成的需求。我建议你在回答中提到以下解释: 开发和测试的持续集成通过在完成所有开发之后替换传统的测试实践,来提高软件质量并减少交付耗时。它允许开发团队尽早检测和定位问题,因为开发人员需要每天多次(或更频繁地

Jenkins 统计研发人员的代码提交量

流过昼夜 提交于 2020-04-23 22:16:17
程序猿的一天,早晨上班 开站会,讨论项目需求和进度,澄清当天的工作任务,结束站会就开始 敲代码,天昏地暗脑细胞少了很多 %$&){*!^$。。。 就这样还总被领导怀疑开发能力不够,存在感不足,非常气愤、非常的不爽,通过 Jenkins 来统计一下代码提交量,看看个人的贡献度有多高。 下面就在创建好的工程里,只需要增加两个构建步骤,就实现不同的工具进行代码量统计了,如下代码片段截图: 脚本配置好,即可执行编译,项目顺利编译完成后,项目也打包发布完成,代码量也统计好了。 下面看看不同的工具代码统计结果吧。 通过 cloc 工具统计如下: 通过脚本工具统计如下: 通过 GitStats工具统计如下: 不知道程序猿们看了有啥想法呢? 来源: oschina 链接: https://my.oschina.net/sh021/blog/3554451

研发协同平台持续集成之Jenkins实践

こ雲淡風輕ζ 提交于 2020-04-23 14:57:04
#导读 研发协同平台有两个核心目标,一是提高研发效率 ,二是提高研发质量,要实现这两个核心目标,实现持续集成是关键之一。 #什么是持续集成 在《持续集成》一书中,对持续集成的定义如下:持续集成是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。自从在团队中引入这样的实践之后,Martin Fowler发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度。 1、集成 集成就是一些孤立的事物或元素通过某种方式集中在一起,产生联系,从而构成一个有机整体的过程。知识经济的社会,集成已经成了很重要的一个名词。各行各业基本都会用到集成。比如汽车行业,那么复杂的一台跑车愣是通过一大堆零件组装起来。对于这些传统行业,它们在研发成功以后,可以通过流水线的方法批量生产进行集成。而在软件行业中,集成并不是一个简单的“搬箱子”的过程。因为软件工业是一个知识生产活动,其内在逻辑非常复杂,需求又很难一次性确定,完成的产品与最初的设计往往相差很远。敏捷宣言中就有一条是说响应变化重于遵循计划。而且由于软件行业的迅猛发展,软件变的越来越复杂,单靠个人是根本无法完成。大型软件为了重用及解耦,往往还需要分成好几个模块,这样集成就成了软件开发中不可或缺的一部分。 2、持续 “持续

jenkins插件学习之show-build-parameters-plugin

白昼怎懂夜的黑 提交于 2020-04-23 04:52:36
今天介绍一个插件 show-build-parameters-plugin https://github.com/mamh-java/show-build-parameters-plugin.git 如下图所示,作用就是在job的每个构建历史上显示参数。 这里先点击左侧的 Build with Parameters 链接。进入界面填写,选择需要的参数。 构建结束,在历史中找到2这次构建,点进去,就能看到#2这次构建的所有参数了, 下面又是一个构建例子,选择参数,触发构建 下面这个是 不安装这个插件的话在这样的地方查看本次构建参数。 来源: oschina 链接: https://my.oschina.net/u/4279029/blog/3301100

mac在本地搭建jenkins

筅森魡賤 提交于 2020-04-23 03:11:02
1. 安装jenkins brew install jenkins 2. 启动jenkins服务 $ brew services start jenkins ==> Successfully started `jenkins` (label: homebrew.mxcl.jenkins) 3 .在浏览器中输入 http://localhost:8080 cat ~/.jenkins/secrets/initialAdminPassword 输入password登陆。 4. 这样jenkins平台就搭建好了 来源: oschina 链接: https://my.oschina.net/u/2263272/blog/3324955

Jenkins pipeline之声明式的jenkinsfile

倾然丶 夕夏残阳落幕 提交于 2020-04-22 12:22:58
Jenkins pipeline之声明式的jenkinsfile 内置的关键字 pipeline : 是pipeline的跟节点 agent: 定义piple使用哪个账号在哪个机器上执行 post: 定义pipeline最后执行的一组任务,支持多种条件判断always, changed, fixed, regression, aborted,failure, success, unstable, unsuccessful, and cleanup. stages: 是多个stage的父节点。 stage: 代表整个pipleline里的一个阶段,stage里面才是具体的steps。 steps: 定义在stage的内部,表示具体如何执行。 environment: 定义公用的环境变量 options: 定义pipeline或者plugin的参数设置。 parameters: 定义了整个pipeline的外部参数,必须有默认值,用户也可以在启动时指定新的参数 triggers: 定义如何触发pipeline,例如cron,pollSCM,或者upstream。 tools: 定义需要安装的工具,且会自动加入到PATH input: 允许pipeline与用户交互,等待用户确认然后继续。 when: 条件语句 pipeline的实例代码 其实还是非常直观易懂的: pipeline {