jenkins 邮件配置

我只是一个虾纸丫 提交于 2020-02-20 17:45:57

jenkins 邮件配置


一、使用场景

job定时构建或者自动化测试耗时较长时,管理员无法等着实时查看结果,因而采用了jenkins的邮箱发送功能。

二、邮箱通知基础版

顾名思义,仅能完成基本的邮件发送功能。 
jenkins默认就有一个邮件通知,只是太简单的,不能个性化或者说定制化。

注:此处以QQ邮箱为例,其他如阿里云,网易对应配置亦可。

1、设置系统管理员邮件地址

系统管理 -→ 系统设置 -→ 管理监控配置 -→ Jenkins Location

 

2、邮件通知设置

系统管理 -→ 系统设置 -→ 邮箱通知   (设置页面最下面)

 

smtp服务器配置完成后,点击输入框右下角“高级”继续配置:

 

① SMTP服务器:如果你使用的是公司邮箱,那么就询问你自己公司里的运维人员吧;他们一般都知道,至少我就是问公司里的运维人员;要是你打算使用QQ邮箱,那么你需要设置下,网上有教程;网易邮箱默认开启。 

② 用户默认邮件后缀:根据自己情况去设置 

③ 勾选使用SMTP认证,用户名:根据自己情况设置,密码也是。

④ SMTP端口:根据目标邮箱设置。

 

配置完成后,勾选发送测试邮件测试配置:

 

Jenkins的“系统设置”算是设置完成了,然后点击“保存”,进入到项目的设置。

3、job设置

进入构建的项目 --→ 配置 -→ 构建后操作

   

配置完成后,仅构建失败才会发邮件,邮件内容如下:

 

可以看出这个邮件内容纯文本,内容也不够丰富!

接下来我们使用增强版的邮件通知!

三、邮件通知增强版

主要通过插件 Email Extension Plugin 实现。

1、安装插件

系统管理 -→ 插件管理     找到插件后安装即可。

 

2、设置系统管理员邮件地址

同基础版。

3、插件配置

系统管理 -→ 系统设置 -→ Extended E-mail Notification

设置要求同默认邮件通知。

 

 

注意: 
上面配置中,凡是以Default开头的名称,都可以在job的配置中当做变量使用。比如:默认的收件人地址:在单独的job中可以这样使用$DEFAULT_RECIPIENTS

4、job 配置

增加构建后操作步骤,添加增强版邮件通知(看红色圈住的部分): 
      之后你会得到: (圈起来的为需要设置的)

          

到此设置完成,手动构建job,即可发送邮件。

 

邮件格式未做处理,以上设置采用的默认格式,可自定义,待补充。。。

 

四、遇到的问题

1、问题① 提示发送失败

 

具体原因不清楚,在网上各种找方法,后来捋顺默认邮件通知和插件邮件通知后,单独跑邮件通知和插件通知,初步判断可能是因为搞混了默认邮件通知和插件通知的系统配置和job配置。

 

2、问题② 提示成功却没收到邮件

 

 

默认邮件通知ok,但插件通知邮件未报错也未收到邮件;

基于默认邮件通知的功能限制,我用的构建失败的job测试,因此接收成功;但插件邮件配置时忘记配置发送邮件的场景,默认仅在构建失败时发送,而我测试时用的job是构建成功的。

 

 

3、问题③ 报错提示无法连接到邮件服务器

 

配置好发送邮件场景后,不再是未报错也未收到邮件,而是提示无法连接到SMTP,报错内容还显示了端口,因此我往SMTP端口方面查;

  • 在qq邮箱的帮助文档给出的端口

 

发现与网上配置方法中的默认端口25不一样,就试了下修改成邮箱提示的,然后!竟然真的发送成功了!

 

注:后来反复在SMTP端口这块做了验证,发现其实一开始就是我自己被网上的各种配置方法搞晕乎了,主要是两种配置方式:

  •  勾选了SSL加密,就选择目标邮箱推荐的发送邮件SMTP端口(QQ邮箱是465或587);
  •  不勾选SSL加密,就直接使用SMTP默认端口25即可。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!