当前位置: 首页 > news >正文

Jenkins工具系列 —— 配置邮箱 每个job下动态设置临时发送人

文章目录

    • 安装插件
    • 添加邮箱认证
      • 邮箱申请(以QQ邮箱网页为例)
      • jenkins添加邮箱认证
    • jenkins设置邮箱相关信息
      • 配置全局邮件
      • 单个JOB邮箱配置


安装插件

点击 左侧的 Manage Jenkins —> Plugins ——> 左侧的 Available plugins
在这里插入图片描述


添加邮箱认证

邮箱申请(以QQ邮箱网页为例)

1、登入QQ邮箱 —> 点击设置 —> 账号 —> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务(确保SMTP服务开启)
在这里插入图片描述
2、管理服务 —> 生成授权码
在这里插入图片描述
3、拷贝生成的授权码

有些邮箱没有显示 smtp服务 是否开启,导致jenkins老是配置不对,发送邮件报错。
可以使用Foxmail工具打开邮件进行配置查看服务情况
右击登入的邮箱 —> 设置 —> 账号 —> 服务器
在这里插入图片描述

jenkins添加邮箱认证

1、Manage Jenkins —> Credentials —> 全局
在这里插入图片描述
2、添加邮箱认证相关信息
在这里插入图片描述


jenkins设置邮箱相关信息

配置邮箱有两种方式
(1)面向所有JOB的邮箱配置。 所有的JOB都可以使用全局邮箱中的配置进行发送邮件。存在的缺点:邮箱中的配置或引用的环境变量都是一样的,邮箱被多个JOB调用时,会出现资源抢占的现象。能有多个接收方,但是只能有固定一个发件方。
(2)面向单个JOB的邮箱配置。 解决第一种邮箱配置的缺点,实现每个Job对应不同的发送邮件,多个发送方。每个JOB都可以配置与其相关的邮件内容。

配置全局邮件

a.点击 左侧的 Manage Jenkins —> System
在这里插入图片描述
b.配置Extended E-mail Notification(针对SMTP服务器、邮件内容进行配置)
在这里插入图片描述
图中高级配置中添加上面添加的邮箱认证,是否Use SSL和邮件SMTP服务配置中一样
在这里插入图片描述
在这里插入图片描述
c.邮件通知(针对SMTP服务器、发件方进行配置)
在这里插入图片描述

单个JOB邮箱配置

a.打开要配置的JOB项目 —> 构建后操作 —> E-mail Notification
在这里插入图片描述
b. E-mail Notification配置
在这里插入图片描述
c. 编写HTMI代码实现通知邮件的默认内容。
在这里插入图片描述

<ul><li type="none"> <b> Release Notes </b> </li><li style="margin-left:15px;"> <b> version </b></li><li type="circle" style="margin-left:25px;"> CSDN </li><li type="circle" style="margin-left:25px;"> Bazinga bingo </li><li style="margin-left:15px;"> <b> New:</b></li><li style="margin-left:15px;">  </li><li style="margin-left:15px;"> <b> Feature list </b></li><li type="circle" style="margin-left:25px;"> 1. A </li><li type="circle" style="margin-left:25px;"> 2. B </li><li type="circle" style="margin-left:25px;"> 3. C </li><li type="circle" style="margin-left:25px;"> 4. D </li><li type="circle" style="margin-left:25px;"> 5. E </li><li type="circle" style="margin-left:25px;"> 6. F </li><li type="circle" style="margin-left:25px;"> 7. G </li><li type="circle" style="margin-left:25px;"> 8. H </li><li type="circle" style="margin-left:25px;"> 9. I </li><li type="circle" style="margin-left:25px;"> 10. J </li><li type="circle" style="margin-left:25px;"> 11. K </li><li style="margin-left:15px;"> <b> Fixed Bugs </b></li>
</ul>

d. 高级配置(配置)编写Groovy脚本实现在每个job下动态设置临时发送人。
在这里插入图片描述

import jenkins.model.*
import hudson.model.*
import javax.mail.internet.InternetAddress//设置发送邮件的用户名密码 (注:这里的密码时授权密码,不是邮箱密码)def username="xxx@qq.com"
def password="xxxxxxxxx"//写入发送邮件的用户名密码到全局配置上,同时也可以设置smtp server这些选项;这里由于我采用统一的邮箱服务商,所以只需设置两项def descriptor1 = Jenkins.instance.getDescriptorByType(hudson.plugins.emailext.ExtendedEmailPublisherDescriptor.class)
descriptor1.setSmtpAuthUsername(username)
descriptor1.setSmtpAuthPassword(password)
descriptor1.save()//写入系统管理员邮件地址到全局配置上def descriptor2 = Jenkins.instance.getDescriptorByType(hudson.tasks.Mailer.DescriptorImpl.class)
descriptor2.setAdminAddress(String.format("JenkinsJobEmail <%s>",username))
descriptor2.save()//经过测试,这个是临时设置发送人的系统管理员邮件地址,不然上面设置后,发送时还是不会发生改变def email = new InternetAddress(String.format("JenkinsJobEmail <%s>", username))
msg.setFrom(email)

配置完成后,运行JOB看看。运行完之后自动发送是您自己编写的邮件,恭喜您,成功了!!!

http://www.lryc.cn/news/133882.html

相关文章:

  • 华纳云:ubuntu中怎么查看进程占用的端口
  • 【学会动态规划】 最长递增子序列(26)
  • Azure虚拟网络对等互连
  • CTFhub-sql-整数注入
  • 管理类联考——逻辑——真题篇——按知识分类——汇总篇——二、论证逻辑——归纳——第三节 归纳论证有效性
  • PaddleRS 1.0.0版本安装
  • 三维重建 PyQt Python MRP 四视图(横断面,冠状面,矢状面,3D)
  • 使用vscode编写插件-php语言
  • 【笔记】Spark3 AQE(Adaptive Query Execution)
  • 【雷达】接收和去噪L波段雷达接收到的信号研究(Matlab代码实现)
  • 【云原生】Docker Cgroups资源控制管理
  • k8s部署prometheus
  • 飞书小程序开发
  • Revit 3D高效处理:cad exchanger sdk 3.21 Crack
  • 【已解决】Linux中启动docker 出现 ‘ Failed to start docker.service: Unit not found. ’ 错误
  • 【学习日记】【FreeRTOS】时间片的实现
  • CentOS Docker仓库和代理配置
  • Lnton羚通算法算力云平台在环境配置中Windows10终端和VSCode下如何打开Anaconda-Prompt
  • Python web实战之细说Django的集成测试
  • Laravel 模型的作用域 模型的访问器和修改器 ⑨
  • 每日一学——交换机
  • 数学建模大全及优缺点解读
  • C++简介
  • 【广州华锐互动】3D空间编辑器:一款简洁易用的VR/3D在线编辑工具
  • golang云原生项目☞redis配置
  • C++ malloc/free/new/delete详解(内存管理)
  • SpringBoot中Mapper.xml的入参方式
  • 回归预测 | MATLAB实现WOA-RBF鲸鱼优化算法优化径向基函数神经网络多输入单输出回归预测(多指标,多图)
  • 浅析Python爬虫ip程序延迟和吞吐量影响因素
  • 【100天精通python】Day43:python网络爬虫开发_爬虫基础(urlib库、Beautiful Soup库、使用代理+实战代码)