Jenkins自动发送邮件配置及定时构建
前言
在配置之前,我们需要安装好Jenkins,对于如何安装不在赘述,看我之前一篇安装教程(或者找度娘,教程很多)。接下来我们开始详细讲解build运行完成后自动发送邮件和定时自动构建build
系统配置
安装插件
我们在安装Jenkins的时候可以选择安装,也可以在安装之后选择安装需要的插件
1.点击Jenkins面板[Manage Jenkins]
2.管理Jenkins页面选择[Manage Plugins]插件管理
3.切换窗口到可选插件,右上角搜索插件Email Extension Template Plugin
4.安装后需要重新启动Jenkins(安装的时候有重启的选项,勾选上就可以了,安装完会自动重启),我这边已经安装好了
系统配置
同样,在管理Jenkins页面,点击[Configure Sysyem]系统配置
1.配置Jenkins Location
这里没啥可说的Url就是自己电脑的ip地址,后面跟Jenkins的默认端口
2.配置Extended E-mail Notification
字段说明:默认收件人可以是多个,多个接受者使用逗号分隔
正文代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head> <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>
<td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</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>
</ul> <h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/> <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/> </td>
</tr>
</table>
</body>
</html>
3.配置Jenkins自带的邮件功能
注意:不要勾选使用SSL协议,否则无法发送邮件;SMTP的端口和前面设置插件的端口一样,哪个有效就使用哪个(25和465)
4.配置触发器Trigger
页面就这样一个按钮,找不到的时候仔细找肯定有,就在一个角落
ok,所有的配置都已经完成了,接下来我们先测试一下是否成功,再使用。
嗯,已经成功了,别忘记保存,接下来我们构建一个项目测试一下发送的邮件
构建项目
1.新建Job
Jenkins面板选择[新建item]
2.命名Job名称并选择构建一个自由风格的项目
3.输入项目描述
4.源码管理
这里我们不适用任何的库直接选择None
5.构建触发器
我这里设置的是每5分钟构建一次实现定时自动构建
6.构建命令
我这里直接选择执行cmd命令
7.构建后操作
我们再次点击Advanced Settings 修改一下默认接受者(这里我们最好把默认的接受者都删除,然后自己重新添加,防止接收失败)
选择构建后发送邮件
说明:
我这里发送邮件时,带上了附件,那么附件是从report目录下的所有以.html格式的文件压缩成
Attach Build Log 这个选择可以根据自己情况选择,我选择的是发送邮件的附件会包含项目构建的日志
ok,以上设置完成之后保存即可
添加项目
我们找到Jenkins安装目录下的workspace目录,在此目录下我们会发现和我们之前新建项目时填写的名字一样的一个目录,没错了,这个目录就是Jenkins构建时的工作项目目录
注意: 如果worksapce下面你没找到你的项目名目录,你需要手动执行一次构建点击Build Now即可
手动构建之后就会自动生成我们Job名称命名的目录了
接下来我们复制我们的代码到这个目录中
结果展示
以上所有的工作完成之后我们可以选择手动构建,测试一下是否能够接受到邮件和邮件内容是否正确
控制台输出(部分内容)
等待构建完成,查看一下控制台日志和邮箱是否接受到正确的邮件
控制台日志
邮箱
正文
附件优化
这里附件有点多,我们只需要发送新的报告文件即可。我们再改一下构建时的命令
ok,保存,我们再次手动构建,或者直接等待时间到后自动构建,再次查看邮箱附件是否只有新生成的报告
可以看到我们的附件只有最新的报告和build日志了,开心吧! 赶紧试试吧
总结
本章主要讲解Jenkins配置自动发送邮件,配置自由风格的项目及定时构建。主要使用第三方报告插件,且要学会定时构建时的语法,好了,又多了个装逼的技能,赶紧跟着我试一试!
Jenkins自动发送邮件配置及定时构建的更多相关文章
- jenkins自动发送邮件配置
一. 前提:确保插件存在 在一切开始之前,必须得确保任务配置里有两个插件:E-mail Notification(邮件通知) 和 Editable Email Notification(可编辑的邮件通 ...
- postman(十):配置jenkins自动发送邮件(邮件包含测试报告)
继续说一下jenkins与postman的集成 上一篇通过jenkins远程执行postman导出的脚本,并把html报告指定输出到了jenkins对应的job工作空间,接下来配置一下当jenkins ...
- Jenkins+github的一次定时构建示例
首先说明,我的电脑环境是windows,所以以下的示例是基于windows10 X64. 一.新建任务,填写名称,选择类型,点击左下角的[确定] 二.配置 1.General 2.源码管理 之前在gi ...
- Jenkins自动打包配置
当时也是花费了不少时间来配置Jenkins自动打包的问题,觉得还是需要记录一下. 1.安装Jenkins,这个很简单,不需要多说. 2.下载Git Plugin,Gradle Plugin,Andro ...
- jenkins自动化部署项目9 --定时构建
举几个例子:每隔5分钟构建一次H/5 * * * * 每两小时构建一次H H/2 * * * 每天中午12点定时构建一次H 12 * * * 每天下午18点定时构建一次H 18 * * * 在每个小时 ...
- jenkins自动拉取git分支构建项目
一,创建jenkins项目 new item ->freestyle project, 自定义一个项目名称 二,配置项目 1,Source Code Management 选择 git,输入gi ...
- Jenkins配置自动发送邮件,成功!
Jenkins自动发送邮件配置: 打开"系统管理"--"系统设置" 在"Jenkins Location"设置系统管理员地址(重要:不能省略 ...
- [原] Jenkins Android 自动打包配置
一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...
- Jenkins进阶之自动发送邮件的Default Content设置模板
分享一个简洁实用的Jenkins项目邮件管理系统的"Default Content"设置模板 配置如下: <h1><center><font colo ...
随机推荐
- jQuery 源码分析(十四) 数据操作模块 类样式操作 详解
jQuery的属性操作模块总共有4个部分,本篇说一下第3个部分:类样式操作部分,用于修改DOM元素的class特性的,对于类样式操作来说,jQuery并没有定义静态方法,而只定义了实例方法,如下: a ...
- Java 类加载机制(阿里)-何时初始化类
(1)阿里的面试官问了两个问题,可以不可以自己写个String类 答案:不可以,因为 根据类加载的双亲委派机制,会去加载父类,父类发现冲突了String就不再加载了; (2)能否在加载类的时候,对类的 ...
- Junit单元测试数据生成工具类
在Junit单元测试中,经常需要对一些领域模型的属性赋值,以便传递给业务类测试,常见的场景如下: com.enation.javashop.Goods goods = new com.enation. ...
- newSingleThreadScheduledExecutor连续关闭造成 java.util.concurrent.RejectedExecutionException
Exception in thread "main" java.util.concurrent.RejectedExecutionException: Task java.util ...
- js绑定事件代理的坑
js通过事件代理的方式绑定跳转事件,我这里的逻辑是把click事件绑定在最外层container上面,如果e.target包含我已经写好的class,则执行跳转逻辑.但是这种方式好像只能是在点击的元素 ...
- 多个浏览器下应用前端JS实现一键导出excel表
自己试验了几种方法,找到一种较为全面的一种方式一键输出Excel表格,代码如下 <!DOCTYPE html> <html> <head lang="en&qu ...
- 登录界面storyboard的一种布局方法
布局思想:三个大点的背景视图宽高相等间距一定(30),左右距父视图距离一定(50),则宽度确定,水平方向位置确定 竖直方向:高度与宽度成一定比例,上边距父视图距离一定,竖直方向的位置和大小也确定了.输 ...
- ABP进阶教程2 - 组合查询
点这里进入ABP进阶教程目录 更新数据传输对象 打开应用层(即JD.CRS.Application)的Course\Dto\GetAllCoursesInput.cs //Course数据传输对象(查 ...
- Python—网络抓包与解包(pcap、dpkt)
pcap安装 [root@localhost ~]# pip install pypcap 抓包与解包 # -*- coding:utf-8 -*- import pcap, dpkt import ...
- emacs 帮助相关命令
emacs 帮助相关命令 如下表: No. 键盘操作 键盘操作对应的函数 回答的问题 01 ctrl-h c describe-key-briefly 这个按键组合将运行哪个函数 02 ctrl-h ...