目录

  • 一、前言
  • 二、全局配置
  • 1.点击 “系统管理” -> “系统配置” 进入配置页面
  • 2.设置系统管理员邮箱地址
  • 3.设置 SMTP server
  • 4.输入邮件通知验证信息
  • (1)进入QQ邮箱,点击 “设置” -> “开启”
  • (2)按提示用密保手机发送短信,然后点 “我已发送” 按钮
  • (3)记录下授权码
  • 5.测试
  • 三、项目配置
  • 1.传统构建项目配置方式一(E-mail Notification)
  • (1)选择 “构建后操作” -> “增加构建后操作步骤” -> “E-mail Notification”
  • (2)填写以空格分隔的接收邮箱
  • 2.传统构建项目配置方式二(Editable E-mail Notification)
  • (1)选择 “构建后操作” -> “增加构建后操作步骤” -> “Editable E-mail Notification”
  • (2)填写信息
  • 3.Pipeline 构建项目配置
  • 四、两个大坑
  • 1.Not sent to the following valid addresses: xxxxxx@qq.com
  • 2.通过发送测试邮件测试配置测试成功,控制台也提示发送成功,但没有接收到邮件



一、前言

Jenkins 自动化构建一般有传统构建和 Pipeline 构建两种方式。两种方式配置自动发送邮件需要两个步骤:全局配置和项目配置。两种方式的全局配置都一样,但项目配置不一样。

二、全局配置

1.点击 “系统管理” -> “系统配置” 进入配置页面

jenkins新增buildid jenkins send build artifacts_jenkins

2.设置系统管理员邮箱地址

jenkins新增buildid jenkins send build artifacts_系统管理_02

3.设置 SMTP server

不勾选 “Use SSL”,SMTP Port 为 25;勾选 “Use SSL”,SMTP Port 为 465:

jenkins新增buildid jenkins send build artifacts_系统配置_03


jenkins新增buildid jenkins send build artifacts_系统配置_04


Default Content 填写:

<!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>

4.输入邮件通知验证信息

其中用户名为邮箱@前面的部分,密码为开通 POP3/SMTP 服务的授权码:

jenkins新增buildid jenkins send build artifacts_系统配置_05


开通 POP3/SMTP 服务的步骤如下:

(1)进入QQ邮箱,点击 “设置” -> “开启”

jenkins新增buildid jenkins send build artifacts_jenkins新增buildid_06

(2)按提示用密保手机发送短信,然后点 “我已发送” 按钮

jenkins新增buildid jenkins send build artifacts_系统配置_07

(3)记录下授权码

jenkins新增buildid jenkins send build artifacts_系统配置_08

5.测试

输入接收邮箱,点击 “Test configuration”,提示测试成功:

jenkins新增buildid jenkins send build artifacts_邮件_09


查看QQ邮箱,收到如下邮件:

jenkins新增buildid jenkins send build artifacts_邮件_10

三、项目配置

1.传统构建项目配置方式一(E-mail Notification)

(1)选择 “构建后操作” -> “增加构建后操作步骤” -> “E-mail Notification”

jenkins新增buildid jenkins send build artifacts_系统配置_11

(2)填写以空格分隔的接收邮箱

jenkins新增buildid jenkins send build artifacts_系统管理_12

2.传统构建项目配置方式二(Editable E-mail Notification)

(1)选择 “构建后操作” -> “增加构建后操作步骤” -> “Editable E-mail Notification”

jenkins新增buildid jenkins send build artifacts_系统管理_13

(2)填写信息

jenkins新增buildid jenkins send build artifacts_邮件_14


jenkins新增buildid jenkins send build artifacts_邮件_15

3.Pipeline 构建项目配置

流水线脚本增加 “send Email” stage:

jenkins新增buildid jenkins send build artifacts_系统配置_16

四、两个大坑

1.Not sent to the following valid addresses: xxxxxx@qq.com

设置 “系统管理” -> “系统配置” -> “Extended E-mail Notification” 的 Credentials:

jenkins新增buildid jenkins send build artifacts_系统配置_17

2.通过发送测试邮件测试配置测试成功,控制台也提示发送成功,但没有接收到邮件

也是 Credentials 的问题!

在设置 Credentials 时,习惯性地设置了之前已创建过的 Credentials,导致查了半天也查不出来。正确做法是新建一个 Credentials,用户名为邮箱@前面的部分,密码为开通 POP3/SMTP 服务的授权码!