温馨提示×

Linux下Jenkins如何配置邮件通知

小樊
45
2025-11-08 14:52:30
栏目: 智能运维

Linux下Jenkins配置邮件通知步骤

1. 安装必要插件

Jenkins默认的邮件通知功能有限,建议安装Email Extension Plugin以获得更灵活的配置选项。
操作路径:Manage JenkinsManage PluginsAvailable标签页 → 搜索“Email Extension Plugin” → 勾选并安装(可选择“Install without restart”快速安装)。

2. 配置全局SMTP邮件服务器

全局配置是Jenkins发送邮件的基础,需设置SMTP服务器信息及认证:
操作路径:Manage JenkinsConfigure System → 向下滚动至Extended E-mail Notification部分(若使用内置简单邮件功能,可直接配置“邮件通知”部分)。

  • SMTP Server:填写SMTP服务器地址(如Gmail为smtp.gmail.com,企业邮箱如QQ邮箱为smtp.qq.com)。
  • SMTP Port:根据SMTP协议选择端口(SSL加密通常为465,TLS加密为587,明文为25)。
  • Use SMTP Authentication:勾选“启用SMTP认证”。
  • Username/Password:输入SMTP账户的用户名(如邮箱地址)和密码(如使用第三方邮箱,需填写授权码而非登录密码,例如QQ邮箱需在设置中开启SMTP服务并获取授权码)。
  • Use SSL/TLS:根据SMTP服务器要求勾选(如Gmail需勾选“Use SSL/TLS”)。
  • Default Subject Prefix:可选,设置邮件主题前缀(如[Jenkins]),便于识别。
  • From Address:设置发件人地址(如jenkins@example.com,需与SMTP账户一致)。
  • Test Configuration:点击“测试配置”按钮,若配置正确,Jenkins会发送一封测试邮件到指定地址(需提前在“系统管理员邮件地址”中填写发件人邮箱)。

3. 配置项目特定邮件通知

全局配置完成后,需在具体项目中启用邮件通知,设置触发条件和收件人:
操作路径:进入目标项目配置页面 → Configure → 向下滚动至Post-build Actions部分 → 点击“增加构建后操作步骤” → 选择“Editable Email Notification”。

  • Recipient List:输入收件人邮箱地址(多个地址用逗号分隔,如user1@example.com,user2@example.com)。
  • Subject:自定义邮件主题(可使用变量,如构建 ${BUILD_STATUS}: ${JOB_NAME} #${BUILD_NUMBER},其中${BUILD_STATUS}表示构建状态、${JOB_NAME}表示项目名称、${BUILD_NUMBER}表示构建编号)。
  • Body:自定义邮件正文(可使用HTML格式和变量,例如:
    <html>
      <body>
        <h1>构建状态:${BUILD_STATUS}</h1>
        <p>项目名称:${JOB_NAME}</p>
        <p>构建编号:${BUILD_NUMBER}</p>
        <p>构建日志:<a href="${BUILD_URL}console">查看日志</a></p>
      </body>
    </html>
    ```)。  
    
  • Triggers:设置邮件触发条件(点击“Add Trigger”添加,常见选项包括:
    • Failure:构建失败时发送;
    • Success:构建成功时发送;
    • Unstable:构建不稳定时发送(如测试未通过);
    • Fixed:上次失败本次成功时发送;
    • Still Failing:持续失败时发送)。
  • Advanced Settings:可选,设置邮件附件(如勾选“Attach Build Log”附加构建日志)、邮件内容类型(如HTML)等。

4. 测试邮件通知

配置完成后,需通过触发构建验证邮件是否正常发送:

  • 手动触发项目构建(点击“Build Now”)。
  • 查看构建历史中的构建记录,确认“Editable Email Notification”步骤是否执行成功(若有错误,可查看控制台输出排查)。
  • 检查收件人邮箱,确认是否收到邮件(若未收到,需检查SMTP服务器设置、防火墙是否允许25/465/587端口通信)。

注意事项

  • 若使用第三方邮箱(如QQ、163),需提前开启SMTP服务并获取授权码(替代密码);
  • 邮件内容中的变量需用${变量名}格式,可通过Jenkins文档查看更多可用变量;
  • 若需发送HTML格式邮件,需在“Extended E-mail Notification”中设置“Default Content Type”为HTML,或在项目配置中设置Body为HTML格式。

0