【接口测试】6_持续集成 _代码

文章目录

  • 一、准备工作
  • 二、使用Jenkins管理-手动构建(包含邮件配置)
  • 三、使用Jenkins管理-自动构建

一、准备工作

1、将运行无误,能生成测试报告的 iHRM项目代码 上传至 Gitee中。

2、要求,必须将 仓库设置为开源( 必须绑定手机号 )。

二、使用Jenkins管理-手动构建(包含邮件配置)

1、打开 Jenkins 首页,点击 “新建Item” 创建一个 新任务

2、输入任务名,如:sh_27_ihrm_code。选择 “Freestyle project”,点 “确定” 。跳至 “配置”页面。

3、回主页,可看到 “ sh_27_ihrm_code”任务。 点 “配置” 可以继续刚才的配置。

4、“源码管理” 标签。选择 “Git”。 在 Repository URL中写入Gitee 项目代码的 URL (必须开源)。

配置参数说明:

​ ①Repository URL: 项目仓库地址

​ ②Credentials: 登录凭证, 需添加代码托管平台的登录用户名和密码。(可以不填写)

5、“构建” 标签。

​ ①点击 “增加构建步骤”, 选择 “Execute Windows batch command” 选项(macOS选择 “Execute shell” )

​ ②输入命令pytest( 与在 pycharm 的 Terminal 中执行,相同含义)

6、“构建后操作” 标签。

​ ①点击 “增加构建后操作步骤”,选择 “Pulish HTML reports”,点击 “新增” 按钮。

​ ②在 “HTML directory to archive” 中 写入 报告生成存放的位置。 如:./report (与项目目录一致)

​ ③将 Index page[s] 后的值,与 pytest.ini 中,生成的测试报告名称保持一致。如:ihrmReport.html。

说明: 因为生成报告时,没有指定目录。 所以:上面 “HTML directory to archive” 是空的。 如果,指定报告生成到其他位置。 要配置 “HTML directory to archive”的值。

​ ④Report title 是生成的报告 标题,可修改为 “Report666” 试试看。

7、再次点击“增加构建后操作步骤”, 选择 “Editable Email Notification” 设置 邮件发送测试报告。

​ ①在 “Project Recipient List” ,$DEFAULT_RECIPIENTS 后使用 英文 “,” 隔分,添加邮箱地址。

​ ②下面 “Content-Type” 的值,选择 HTML(text/html)

​ ③复制讲义中 “邮件测试报告模板” 代码到 “Default Content ” 中。(收到的邮件长什么样子,html来设置)

<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title></head><bodyleftmargin="8"marginwidth="0"topmargin="8"marginheight="4"offset="0"><div><h2>项目信息</h2><ul><li>项目名称:${PROJECT_NAME}</li><li>详细测试报告:<ahref="${PROJECT_URL}HTML_20Report/">${PROJECT_URL}HTML_20Report/</a></li><li>触发原因:${CAUSE}</li><li>项目Url:<ahref="${PROJECT_URL}">${PROJECT_URL}</a></li></ul><hr/><h2>构建日志</h2><div>${JELLY_SCRIPT,template="html"}</div><hr/></div></body></html>

8、点击右下角“Advanced Settings” 按钮。将 “Trigger” 原有的内容 点 最外层 “红叉” 删除。

  • 点击 “Add Trigger” 选择 Always 。

9、点击 “应用” --> “保存”。

10、点击 “Build Now” 开始手动构建。可在下面 Build History(构建历史)中, 看到构建正在进行。

​ ①点 #1 后面的时间 , 点击 “控制台输出” 查看 执行的命令。

​ ②再次点 “Build Now”,可以 再构建一次 #2。 以此类推。

三、使用Jenkins管理-自动构建

1、Jenkins 首页,点击任务名:如:sh_27_ihrm_code。点击跳至 “配置” 页面。

2、“构建触发器”标签。 选择 “Build periodically(定期地)”

3、“日程表”中写入:* * * * *(空格隔分) —> 分别对应 “分 时 日 月 年”

* * * * *(空格隔分):第一颗*代表分,第二颗*代表时,第三颗*代表日,第四颗*代表月,第五颗*代表年 修改:10 16 * * * 就是 每天的 16 点 10 分 执行。

4、点击 “应用” --> “保存”。 等待 。。。自动构建 —— 成功!

5、也可以在“构建触发器” 标签中选择 “Poll SCM”。 写入 :*/1 * * * * (空格隔分)

  • 代表1分钟 检查一次 gitee 上的代码,查验是否有更新。

6、PyCharm 修改代码 Commit、Push,或者 直接在 Gitee修改,导致 Gitee上的代码有 变动。会触发Jenkins 会自动构建。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1119746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【零基础学java】(IO流基础)

IO流 存储和读取数据的解决方案 I--- input O---- output可以用于读写文件中的数据 问&#xff1a;IO流是谁在读&#xff0c;谁在写&#xff0c;以谁为参照物看读写的方向呢---》程序/内存纯文本文件&#xff1a;用window自带记事本能打开并且能读懂的文件按流的方向进行划分…

易语言开发者的职业跃迁与生态共建

易语言开发者的职业跃迁与生态共建 &#x1f680; 1.20.1 学习目标 &#x1f3af; 作为《易语言开发从入门到精通》的收官核心章&#xff0c;本章将整合前19章的所有技术栈与商业逻辑&#xff0c;为易语言开发者打造一套可落地、可复制、可长期成长的职业发展体系&#xff0c;你…

五大主流CRM品牌核心能力横向对比:从闭环到协同的全维度拆解

在企业数字化转型中&#xff0c;CRM已从“销售工具”升级为“全链路协同平台”。本文选取超兔一体云、Oracle CX、Capsule CRM、智赢云CRM、橙子CRM五大主流品牌&#xff0c;围绕线索到回款闭环、后端供应链管理、协同工具对接三大核心场景&#xff0c;结合流程、数据、易用性多…

当AI学会“举一反三”:基于迁移学习的高速列车轴承智能故障诊断系统全解

实验室里的完美数据模型,如何在现实复杂运行环境中保持高精度?迁移学习正为工业智能诊断带来一场静默革命。 在飞驰的京沪高铁上,列车正以350公里时速疾驰。车轴轴承如同列车的心脏,必须时刻保持健康。传统维护依靠定期检修和阈值报警,但一个令人不安的事实是:超过60%的轴…

2026电路板厂家排行榜:技术 + 产能双优,选购不踩坑

电路板&#xff08;PCB&#xff09;作为电子产业的核心基石&#xff0c;其品质与技术实力直接影响终端产品的性能与稳定性。2026年&#xff0c;行业内涌现出一批兼具技术创新、产能规模与服务优势的优质厂家&#xff0c;以下为大家盘点5大代表性品牌&#xff0c;它们在不同领域…

鸿蒙应用的云原生部署实战

鸿蒙应用的云原生部署实战一、章节概述 1.1 学习目标 ✅ 掌握鸿蒙云原生架构的核心组件、设计模式与端云协同逻辑 ✅ 落地《全生态智能待办》的云原生部署方案&#xff1a;容器化打包、微服务拆分、弹性扩容 ✅ 集成华为Cloud Engine与AGC云服务&#xff0c;实现端云数据同步与…

华为ensp:VRF

目录 一、核心概念与作用 二、工作原理 三、拓扑及配置 总结 VRF&#xff08;Virtual Routing and Forwarding&#xff0c;虚拟路由转发&#xff09;是网络虚拟化核心技术&#xff0c;能在一台物理路由器 / 三层交换机上创建多个逻辑隔离的路由实例&#xff0c;每个实例拥有…

WD5208S,380V降12V500MA,高性能低成本于,应用于小家电电源领域

一、卓越性能&#xff1a;打造高效能与低成本的双重优势​&#xff08;一&#xff09;简洁外围电路&#xff1a;降低系统复杂度&#xff0c;控制成本开支​WD5208S 在电路设计上极具优势&#xff0c;其外围电路架构极为简洁&#xff0c;所需搭配的元器件数量大幅减少。这一特性…

基于SpringBoot的博客系统(源码+lw+部署文档+讲解等)

课题介绍本课题聚焦用户内容创作分享与互动交流的核心需求&#xff0c;设计并实现基于SpringBoot框架的博客系统。当前博客领域存在内容管理杂乱、用户互动渠道不畅、文章检索效率低、个性化展示不足等问题&#xff0c;制约了创作者的内容传播效率&#xff0c;也影响了读者的阅…

事关你的银行卡:分段显示卡号的4种方法

小伙伴们好啊&#xff0c;今天说说如何将银行卡号每隔4位分段显示&#xff0c;如下图所示&#xff1a;方法1&#xff1a;快速填充复制D2单元格卡号&#xff0c;粘贴到E2单元格&#xff0c;每隔四位手工输入空格。选中E2:E9单元格区域&#xff0c;按<CtrlE>&#xff0c;即…

JiaJiaOCR:面向Java ocr的开源库

在 OCR 技术落地过程中&#xff0c;Java 开发者常面临 "Python 生态繁荣&#xff0c;Java 集成困难" 的困境 —— 要么依赖jni调用 exe/dll 外部文件&#xff0c;要么跨平台部署踩坑不断。 JiaJiaOCR 为您带来革命性突破&#xff01; &#x1f389; 本项目将同步更…

【优化部署】遗传算法GA异构节点智能部署策略(延长无线传感器网络寿命)【含Matlab源码 14850期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;Matlab武动乾坤博客之家&#x1f49e;…

【飞行员分析】八度分析战斗机飞行员表现仿真(研究心率、睡眠质量、任务复杂性、经验和环境如何影响压力、认知负荷和整体任务表现)【含Matlab源码 14853期】含报告

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;Matlab领域博客之家&#x1f49e;&…

PVDF薄膜电晕极化:佰力博检测实验室专业解决电晕极化需求

在柔性电子、精密传感器、新能源储能等领域&#xff0c;PVDF薄膜凭借优异的压电、铁电性能占据核心地位。但很多科研人都遇到过同一个难题&#xff1a;为什么同样的PVDF基膜&#xff0c;制成器件后性能差异巨大&#xff1f;答案藏在关键步骤——电晕极化里 。 作为赋予PVDF薄膜…

【文献-1/6】通过知识集成增强植物疾病识别中的异常检测

这是一篇关于植物病害识别中异常检测&#xff08;Anomaly Detection&#xff09;的高水平学术论文。以下是对该文献的深度深度分析&#xff1a; 1. 文章概览 标题&#xff1a;Enhancing anomaly detection in plant disease recognition with knowledge ensemble&#xff08;…

【心电信号ECG】深度学习方法心电图信号检测和分类人类情绪【含Matlab源码 14852期】含报告

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;Matlab武动乾坤博客之家&#x1f49e;…

巨噬细胞 “控场” 肿瘤微环境:极化、吞噬机制及治疗应用新进展

吞噬作用作为维持组织稳态的核心生理过程&#xff0c;在肿瘤微环境&#xff08;TME&#xff09;中通过免疫抑制调控与代谢重编程机制形成促肿瘤效应。巨噬细胞作为该过程的主要效应细胞&#xff0c;其M1/M2表型极化平衡及功能转换直接影响肿瘤进展。 一、 核心概念与生物学意义…

国企、民企、外企的AI数据治理,为何不能用同一把钥匙?

不同类型企业的数据状况迥异&#xff0c;面临的治理挑战也截然不同&#xff0c;导致通用型方案往往“水土不服”。数据治理&#xff0c;特别是AI赋能的治理&#xff0c;绝非纯粹的技术部署&#xff0c;而是与企业性质、监管环境和发展阶段深度结合的方案。上一期&#xff0c;给…

从 AnyScript 到 TypeScript:如何利用 Type Guards 与 Type Predicates 实现精准的类型锁死

在 TypeScript 项目的开发过程中&#xff0c;为了快速解决编译报错&#xff0c;开发者往往容易产生对 any&#xff08;类型逃避&#xff09;和 as&#xff08;类型断言&#xff09;的依赖。然而&#xff0c;这种处理方式在本质上是“破坏”了类型系统的逻辑链路&#xff0c;为后…

【文献-1/6】一种高效的非参数特征校准方法用于少样本植物病害分类

这是一份关于该文献《An efficient non-parametric feature calibration method for few-shot plant disease classification》的深度分析报告&#xff1a; 1. 文章概览 标题&#xff1a;An efficient non-parametric feature calibration method for few-shot plant disease c…