在 Debian 上配置 Jenkins 通知机制
一 邮件通知 SMTP 配置
- 安装插件:进入 Manage Jenkins → Manage Plugins → Available,搜索并安装 Email Extension Plugin(提供更丰富的邮件模板与触发器)。
- 全局 SMTP:进入 Manage Jenkins → Configure System,在 Extended E-mail Notification 填写:
- SMTP Server(如:smtp.gmail.com)、SMTP Port(常用 587 TLS 或 465 SSL)
- 勾选 Use SMTP Authentication,填写 Username/Password(邮箱或授权码)
- 选择 Use TLS/Use SSL;设置 Default Subject Prefix(如:[Jenkins])、Default Content Type(text/plain 或 text/html)、Default Charset(如:UTF-8)
- 在 Triggers 中按需勾选如 Failure、Unstable、Success、Always 等触发条件
- 点击 Test Configuration 发送测试邮件,确认连通性与账号权限
- 作业级配置:进入具体任务 → Post-build Actions → Add post-build action → Editable Email Notification:
- 填写 Recipient List(多个地址用逗号分隔)
- 配置 Subject/Body,可使用变量如 ${JOB_NAME}、${BUILD_NUMBER}、${BUILD_STATUS}
- 选择该作业适用的 Triggers,保存后手动触发一次构建验证
- 排错要点:若测试失败,检查系统防火墙/云安全组是否放行 SMTP 端口,并查看 /var/log/jenkins/jenkins.log 获取详细错误。
二 常用通知渠道与插件
- 即时通信与协作平台:
- Slack:安装 Slack Notification 插件,在系统配置中设置 Slack Webhook,在作业 Post-build Actions 添加 Slack Notifications 并选择事件(如构建失败、恢复成功)。
- 企业微信/钉钉:使用各自的 Webhook 插件(如 DingTalk、企业微信机器人),配置 Access Token 与触发条件。
- 监控与可视化联动:
- Prometheus:安装 Prometheus 插件暴露指标,配合 Grafana 展示;在 Prometheus 中设置告警规则,通过 Alertmanager 推送到 邮件/企业微信/钉钉/Slack。
- JavaMelody:安装 JavaMelody 插件做资源与请求监控(偏监控展示,告警能力有限)。
- 日志与指标告警:
- ElastAlert:基于 Elasticsearch 的告警引擎,可针对 Jenkins 日志或指标设置阈值规则并发送通知。
三 排错与最佳实践
- 连通性与认证:优先使用 SMTP 587 + TLS;确保发信账号开启 SMTP/应用专用密码 或 OAuth2;测试阶段先用简单文本邮件排除模板问题。
- 安全与合规:避免在界面明文保存密码,建议使用 Jenkins Credentials 存储凭据;限制邮件收件人范围,避免信息外泄。
- 触发策略:为不同任务设置差异化 Triggers(如仅对 Failure/Unstable 告警),减少噪音。
- 日志与告警链路:持续关注 /var/log/jenkins/jenkins.log;复杂场景建议引入 Prometheus + Alertmanager 统一告警路由与降噪。