温馨提示×

Linux Jenkins如何配置邮件通知

小樊
34
2025-10-13 20:55:53
栏目: 智能运维

Linux环境下Jenkins配置邮件通知步骤

1. 安装必要插件

首先需安装Email Extension Plugin(核心邮件扩展插件,支持定制邮件内容、触发条件及接收者),若未自动安装SMTP插件,可同时安装SMTP Plugin
操作路径:Manage JenkinsManage PluginsAvailable标签页 → 搜索“Email Extension Plugin”并安装 → 重启Jenkins使插件生效。

2. 配置全局邮件通知(系统级设置)

进入Manage JenkinsConfigure System,找到Extended E-mail Notification(或“邮件通知”)部分,按以下要求配置:

  • SMTP服务器:填写第三方邮件服务商的SMTP地址(如QQ邮箱:smtp.qq.com;163邮箱:smtp.163.com;Gmail:smtp.gmail.com)。
  • SMTP端口:根据服务商要求选择(SSL加密通常为465,TLS加密通常为587;部分服务商默认25端口,但可能被拦截)。
  • 认证信息:勾选“Use SMTP Authentication”,填写邮箱账号(如your-email@qq.com)及授权码(而非邮箱密码,授权码需通过邮箱设置生成,用于第三方客户端登录)。
  • 安全设置:若使用SSL/TLS,勾选“Use SSL”或“Start TLS”(根据服务商要求,如QQ邮箱需勾选“Use SSL”)。
  • 默认内容:可设置邮件主题前缀(如“构建通知: $PROJECT_NAME - Build #$BUILD_NUMBER - $BUILD_STATUS!”)和正文模板(支持HTML格式,可使用Groovy变量如${JOB_NAME}(项目名称)、${BUILD_NUMBER}(构建编号)、${BUILD_STATUS}(构建状态)、${BUILD_URL}(构建日志URL)等动态内容)。
  • 测试配置:点击“Test Configuration”按钮,输入有效收件人邮箱,若收到测试邮件则说明配置成功。

3. 配置Job级别的邮件通知

进入需要配置邮件通知的Jenkins Job,点击Configure→ 滚动至Post-build Actions(构建后操作)部分,点击Add post-build action→ 选择Editable Email Notification,按以下要求配置:

  • Recipient List:输入邮件接收者地址(多个地址用逗号分隔,如dev1@example.com,dev2@example.com;也可使用Jenkins内置变量如$DEFAULT_RECIPIENTS引用全局默认收件人)。
  • Triggers(触发条件):点击“Advanced settings”→ 展开“Triggers”→ 添加触发条件(如“Failure”(构建失败时发送)、“Success”(构建成功时发送)、“Unstable”(构建不稳定时发送)、“Fixed”(从失败到成功的状态变更时发送)等,可根据需求组合)。
  • 邮件内容:可覆盖全局设置,自定义邮件主题(如“构建结果: $BUILD_STATUS - $JOB_NAME #$BUILD_NUMBER”)和正文(如包含失败用例、变更记录、构建日志链接等信息,支持HTML格式增强可读性)。

4. 验证邮件通知功能

完成上述配置后,可通过以下方式验证:

  • 手动触发构建:进入Job页面,点击Build Now手动启动构建,观察构建完成后是否收到邮件。
  • 查看构建日志:若邮件未收到,可查看Jenkins Job的构建日志(Console Output),检查是否有邮件发送失败的错误信息(如SMTP认证失败、网络连接问题等),并根据错误提示调整配置。

注意事项

  • 授权码获取:QQ邮箱需登录网页版QQ,进入“设置”→“账户”→“生成授权码”;163邮箱需进入“设置”→“POP3/SMTP/IMAP”→ 开启SMTP服务并生成授权码。
  • 防火墙设置:确保Linux服务器允许Jenkins进程访问SMTP服务器端口(如465、587),避免因网络拦截导致邮件发送失败。
  • 变量使用:邮件内容中可使用Jenkins内置变量(如${JOB_NAME}${BUILD_NUMBER})和Email Extension Plugin提供的变量(如${FAILED_TESTS}(失败用例)、${CHANGES_SINCE_LAST_SUCCESS}(最近提交记录)),增强邮件信息的动态性和实用性。

0