Jenkins发送邮件、定时执行、持续部署

集成Allure报告只需要配置构建后操作即可。但如果是web自动化,或是用HTMLTestRunner生成报告,构建后操作要选择Publish HTML reports,而构建中还要添加Execute system Groovy script插件,内容:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

不然生成的报告会样式丢失。

Jenkins发送邮件

  • 1安装插件>Email

  • 2获得邮箱客户端密码

这个密码不是登录密码而是POP3/SMTP的授权码,开启的时候需要发短信验证

  • 3系统管理->系统配置/Config System

1)系统管理员邮件

2)Extended E-mail Notification

配置管理员邮箱

3)后缀

默认后缀

4)默认收件人,以英文逗号分隔

默认收件人,以英文逗号分隔

5)邮件主题和内容(附代码)

邮件主题和内容

代码:

Default Subject

【构建通知】$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!

Default Content

<!DOCTYPE html><html lang="en">
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0"><table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"><tr>本邮件由系统自动发出,无需回复!<br/>各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br><font color="red">构建状态:${BUILD_STATUS};下载allure-report.zip到本地后可以通过命令行"allure open 报告路径"进行查看</font></tr><tr><td><br/><b><font color="#0B610B">项目描述:${JOB_DESCRIPTION}<br></font></b><hr size="2" width="100%" align="center" /></td></tr><tr><td><ul><li>项目名称 : ${PROJECT_NAME}</li><li>构建编号 : 第${BUILD_NUMBER}次构建</li><li>触发原因: ${CAUSE}</li><li>构建状态: ${BUILD_STATUS}</li><li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li><li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li><li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li><li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li><li>系统allure测试报告:<a HREF="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER}/allure</a></li></ul></td><tr><td><b><font color="#0B610B">构建日志 (最后 100行):</font></b><hr size="2" width="100%" align="center" /></td></tr><tr><td><textarea cols="80" rows="30" readonly="readonly" style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea></td></tr>${JELLY_SCRIPT}</table>
</body>
</html>

6)邮件通知

邮件通知

配置好后,可以进行测试

测试

配置job构建后的操作

选择Editable Email Notification插件

删掉只有失败时才会触发发邮件操作,新增Always触发器

去掉失败才触发发邮件操作

新增触发器,选择Always

点击保存。

构建项目,即可收到邮件:

邮件样式

邮件样式可以复制代码以后自己修改,或者自己写代码。

Jenkins定时任务

在job配置中选择构建触发器->定时构建/Build Periodically日程表中写入* * * * *这五个星分别代表分-时-日-月-年,如果要设定每天9:30执行,就写30 9 * * *注意时间是24小时制的,晚上九点就要写21点。

Jenkins持续部署/CD

我们每次需求更新,开发写完代码后要同步到测试服务器,然后进行测试。如果每次都要自己去手动拉去代码然后部署有些麻烦,这时候就可以利用Jenkins进行持续部署,就是我们说的CD。

现在都从GitHub/Gitee拉取代码

我们原来的代码复制一份,取名DayOneTest(注意:要么您不要操作,如果操作一定要复制代码,也就是备份代码!备份代码!备份代码!

复制来的代码文件

然后修改我们的Jenkins工作空间

然后到配置->源码管理添加Gitee地址

按照Gitee信息填写

点击添加后选择Jenkins

选择代码分支

点击保存。

我们现在执行构建,您会发现,文件夹里的内容被删掉了,变成了Gitee里面的内容。这就是为什么操作之前要备份代码的原因。

目前来看,持续集成CI和持续部署CD比较适合分开成两个job来做,因为每次部署时会删掉原来的代码同步成GitHub/Gitee上最新的代码,这时候进行执行任务会出现有文件丢失的情况出现。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

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

相关文章

浏览器工作原理与Javascript高级(异步)

总体介绍 浏览器运行是多进程的&#xff0c;包括主进程、渲染进行、网络进程和GPU进程等等 解析HTML时(渲染进程)用到两大引擎&#xff0c;一个是渲染引擎&#xff08;用于渲染页面&#xff09;、一个是JS引擎用于解析JS代码。又JS引擎运行是单线程的&#xff0c;所以渲染和 …

yum 和 rpm

rpm说明 rpm -qa &#xff1a;列出所有已安装的软件包 [roothub ~] rpm -qa geoipupdate-2.5.0-1.el7.x86_64 ncurses-base-5.9-14.20130511.el7_4.noarch libndp-1.2-9.el7.x86_64 libfastjson-0.99.4-3.el7.x86_64 。。。 rpm -qf FILENAME &#xff1a;查找提供 FILENAME…

vue h5 保存图片到手机本地相册的方法

效果图 1、插件和上传接口 import html2canvas from html2canvas import { upload } from /api/accept2、结构 <button clickgenerateImage>生成</button><!-- 中间信息展示 --><div class"sevenInfo textLeft" id"target-element"…

95页初级前端模块笔记分享,公司开发web

简历 首先肯定是要准备一份自己的简历&#xff0c;简历经常是给面试官的第一印象。 简历一般包括个人基础信息&#xff0c;专业技能&#xff0c;项目经验&#xff0c;其他模块。 个人基础信息模块就不说了&#xff0c;太基础。 专业技能: 专业技能这一节&#xff0c;最好除了…

LVS负载均衡集群——NAT地址转换模式与DR直接路由

目录 一、LVS集群基本介绍 1、集群是什么&#xff1f; 2、集群的类型 ①负载均衡集群 ②高可用群集 ③高性能运算群集 3、负载均衡集群的结构 第一层&#xff0c;负载调度器 第二层&#xff0c;服务器池 第三层&#xff0c;共享存储 4、LVS负载均衡集群的三种工作模…

操作系统|概述|系统分类——笔记

1.1_1操作系统的概念和功能 操作系统的概念 操作系统&#xff08;Operating System&#xff0c; OS&#xff09; 是指控制和管理整个计算机系统的 硬件和软件 资源&#xff0c;并合理地组织调度计算机和工作和资源的分配&#xff1b; 1操作系统是系统资源的管理者 以提供给用…

uniapp实现---单选题按钮

目录 一、实现思路 二、实现步骤 ①view部分展示 ②JavaScript 内容 ③css中样式展示 三、效果展示 一、实现思路 使用样式布局控制单选框的位置&#xff0c;这里使用的是原生态uniapp&#xff0c;并没有使用组件。 二、实现步骤 ①view部分展示 <template><view …

积分商城管理系统的设计与实现(含源文件)

项目源码&#xff1a;https://gitee.com/oklongmm/biye2 系统介绍&#xff1a; 积分商城管理系统&#xff0c;包括用户模块、商品模块、积分模块和后台管理模块。 一、用户模块&#xff1a; 用户注册与登录&#xff1a;用户可以创建账户并登录系统。 个人信息管理&#xff1…

Yolov8改进交流

YOLO v8改进 YOLOv8的改进&#xff0c;我接触的主要分为网络改进和代码改进&#xff0c;网络改进就是以注意力、主干为主&#xff0c;代码改进就是类似于Iou&#xff0c;类别权重等修改。 以下是yolov8的原始模型。 # Ultralytics YOLO &#x1f680;, AGPL-3.0 license # YO…

循环队列:一道使数据结构萌新知道什么是“愁滋味“的题目

这破题目肝了我一天半才搞明白,也正是因为这道题目,我才豁然明白了李煜所说的"剪不断,理还乱...别是一般滋味在心头"到底是什么"滋味".在完全搞明白之前,真的是放有放不下,理也理不清... 但是理解之后你会发现,嘛い---,也就那么个回事嘛O(∩_∩)O 目录 1…

CAN总线中隐性与显性问题

初学CAN总线时&#xff0c;对于CAN总线中的隐性为逻辑“1”&#xff0c;显性为逻辑“0”的疑惑一直令人困扰。在工控应用中&#xff0c;我们通常将有电压信号称为逻辑“1”&#xff0c;没有电压信号称为逻辑“0”&#xff0c;这与CAN总线的定义看起来不太一致。下面对这个问题进…

第1章:绪论 1.1数据库系统概述

文章目录 1.1 数据库系统概述1.1.1 数据库的4个基本概念1.1.2 数据管理技术的产生和发展1.1.3 数据库系统的特点 1.1 数据库系统概述 1.1.1 数据库的4个基本概念 数据(Data) 是数据库中存储的基本对象 数据的定义&#xff1a;描述事物的符号记录 数据的种类&#xff1a;文本、…