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.mzph.cn/news/721910.shtml

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

相关文章

【数据结构】用队列实现栈

下面是一些思路分析和代码分享&#xff0c;有需要借鉴即可。 1.问题描述 我想用队列来实现栈的功能&#xff0c;具体而言是用两个队列做底层做出栈的功能来。 有人可能会疑问会不会多次一举&#xff0c;这里仅作练习&#xff0c;为了更加进一步了解栈/队列的性质 2.思路分析 …

基于Spring Boot+ Vue的房屋租赁系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

抉择与发展:详解程序员在前端、后端与数据科学赛道上的职业定位与成长路径

作为一个程序员&#xff0c;选择职业赛道就像是在一座迷宫中探索前端的美丽花园&#xff0c;后端的黑暗洞穴&#xff0c;还有数据科学的神秘密室。每一条赛道都充满了挑战和机遇&#xff0c;而选择哪一条赛道将直接影响到你未来的职业发展和成就。对于每一位准备投身或已经在编…

搜维尔科技:捕获、分析、优化,使用 Xsens Ergo 创建更安全的工作空间

简化人体工程学分析&#xff0c;优先考虑员工福祉&#xff0c;并利用客观数据和见解提高生产力。 捕获。分析。优化。使用 Xsens Ergo 创建更安全的工作空间 1.质量数据 使用高质量、客观且经过验证的运动数据进行详细的人体工程学分析 2.随处使用 在最具挑战性的工作环境中…

HarmonyOS Stage模型 用程序运行切换 验证UIAbility 启动模式(下) 验证:specified启动模式 Ability间切换

上文 HarmonyOS Stage模型 用程序运行切换 验证UIAbility 启动模式(上) 验证:singleton、multiton、standard启动模式 我们已经验证完了 singleton multiton standard 三种启动模式 留下了毕竟复杂的 specified 这里 首先 我们要写两个不同的界面 index 编写代码如下 import…

centos 搭建ftp服务器

项目上需要用到ftp文件服务同步&#xff0c;所以在测试环境进行搭建&#xff0c;其中遇到了一些问题&#xff0c;遂记录。 1、安装vsftpd软件包 打开终端并输入以下命令来安装vsftpd yum install vsftpd -y 2、运行vsftpd systemctl start vsftpd 3、测试匿名连接 我这里…

Vue组件间通信实践

Vue组件间通信实践 &#x1f31f; 前言 欢迎来到我的小天地&#xff0c;这里是我记录技术点滴、分享学习心得的地方。&#x1f4da; &#x1f6e0;️ 技能清单 编程语言&#xff1a;Java、C、C、Python、Go、前端技术&#xff1a;Jquery、Vue.js、React、uni-app、EchartsUI设…

蓝桥杯每日一题(二分)

//1460 我在哪 暴力方法改了40分钟&#xff0c;好在ac了 思路&#xff1a;依次枚举所有字符&#xff08;外层循环&#xff09;&#xff1b; 第一个没有注意的点&#xff1a;没有加j的中间那层循环&#xff0c;直接用的while&#xff0c;这样会导致i后面可能有多个j的位置与i…

激光雷达点云数据邻域特征计算理论知识学习

一、数学理论 &#xff08;一&#xff09;SVD奇异值分解&#xff08;Singular value decomposition&#xff09; 奇异值分解是线性代数中一种重要的矩阵分解&#xff0c;在信号处理、统计学等领域有重要应用。奇异值分解在某些方面与对称矩阵或埃尔米特矩阵基于特征向量的对角…

Java学习笔记007——接口的应用

1、接口的转换&#xff08;向下&#xff09; 子类对向和父类对象可以进行类型转化。接口也一样可以。 package com.test;// 接口Animal public interface Animal {void bark(); //等价于public abstract void bark();void move(); //等价于public abstract void move(); }pac…

Spring总结之构造注入

构造注入&#xff1a; Spring调用类的有参构造&#xff0c;在构造方法中给属性赋值 构造注入使用的是<constructor-arg>标签&#xff0c;一个<constructor-arg>标签表示构造方法的一个参数。 <constructor-arg>标签属性&#xff1a; name&#xff1a;表示构…

C 数据类型

在 C 语言中&#xff0c;数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间&#xff0c;以及如何解释存储的位模式。 C 中的类型可分为以下几种&#xff1a; 序号类型与描述1基本数据类型 它们是算术类型&#xff0c;包括整型…

pytest 教程

1. 安装pytest 目前我使用的python版本是3.10.8 pip install pytest命令会安装下面的包&#xff1a; exceptiongroup-1.2.0-py3-none-any.whl iniconfig-2.0.0-py3-none-any.whl packaging-23.2-py3-none-any.whl pluggy-1.4.0-py3-none-any.whl pytest-8.0.2-py3-none-any.…

线性代数笔记10--矩阵的四个基本子空间

0. 引入 矩阵 A m n A_{m \times n} Amn​ 1. 列空间 C ( A ) C(A) C(A)在 R m R^m Rm中 d i m ( C ( A ) ) p i v o t _ c o l u m n _ c n t r a n k ( A ) r dim(C(A))pivot\_column\_cnt rank(A)r dim(C(A))pivot_column_cntrank(A)r 2. 零空间 N ( A ) N(A) N(A)…

web自动化笔记十六:日志收集

日志的作用&#xff1a; -调试程序 -了解系统程序运行情况&#xff0c;是否正常 -系统程序运行故障分析与问题定位 -用来做用户行为分析的数据统计 日志级别&#xff1a;是指日志信息的优先级、重要性或者严重程度 DEBUG&#xff1a;调试级别&#xff0c;…

Kubernetes 外部 HTTP 请求到达 Pod 容器的全过程

文章目录 1、问题一2、HTTP 请求流转过程概述图3、详细过程分析4、容器技术底座5、问题二6、详细过程分析(补充) 1、问题一 当外部发送一个HTTP/HTTPS 请求到Kubernetes 集群时&#xff0c;它是如何达到 Pod 中的 container 的呢&#xff1f; 2、HTTP 请求流转过程概述图 3、…

Scrapy与分布式开发(2.8):布隆过滤器原理及应用

布隆过滤器原理及应用 定义 布隆过滤器&#xff08;Bloom Filter&#xff09; 是一种空间效率极高的概率型数据结构&#xff0c;用于测试一个元素是否在一个集合中。它的优点是空间效率和查询时间都远超过一般的算法&#xff0c;缺点是有一定的误识别率和删除困难。 原理 布…

【论文阅读】(DALLE-3)Improving Image Generation with Better Captions

&#xff08;DALLE-3&#xff09;Improving Image Generation with Better Captions 文章目录 &#xff08;DALLE-3&#xff09;Improving Image Generation with Better Captions简介Method实验 引用&#xff1a; Betker J, Goh G, Jing L, et al. Improving image generation…

【数据存储】大端存储||小端存储(超详细解析,小白一看就懂!!!)

目录 一、前言 二、什么是低地址、高地址 &#xff1f; 三、什么是数据的高位和低位 &#xff1f; 四、什么是大小端存储&#xff1f; &#x1f349; 小端存储详解 &#x1f352; 大端存储详解 五、为什么会有大小端存储&#xff1f; &#x1f34d;大端存储的优点 &#…

React | 低代码平台开发实践

⭐简单说两句⭐ 作者&#xff1a;后端小知识&#xff0c;CSDN后端领域新星创作者|阿里云专家博主 CSDN个人主页&#xff1a;后端小知识 &#x1f50e;GZH&#xff1a;后端小知识 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 前言 随着数字…