温馨提示×

debian jenkins如何配置邮件

小樊
50
2026-09-14 05:37:12
栏目: 智能运维

下面以 Debian + Jenkins(系统包或 WAR 方式均可) 为例,说明如何配置 Jenkins 邮件通知(以最常用的 Extended E-mail Notification 为例,也包含基础邮件配置)。


一、前置条件

  1. Debian 已安装 Jenkins
sudo systemctl status jenkins
  1. 已安装邮件相关插件
  • 登录 Jenkins
  • Manage Jenkins → Plugins → Available
  • 安装:
    • Email Extension
    • Email Extension Template(可选)

二、配置 Jenkins 系统邮件(SMTP)

1. 进入系统配置

Manage Jenkins → System

2. 找到 E-mail Notification

(基础邮件,简单任务可用)

  • SMTP server:如 smtp.qq.com
  • Default user e-mail suffix:@qq.com
  • 勾选 Use SMTP Authentication
    • User Name:邮箱账号
    • Password:授权码(不是邮箱密码)
  • SMTP port:
    • 25 / 465(SSL) / 587(STARTTLS)
  • 勾选:
    • Use SSL
    • 或 Use TLS

示例(QQ 邮箱):

SMTP server: smtp.qq.com
SMTP Port: 465
User: 123456@qq.com
Password: xxxxxxxxxx (授权码)

✅ 点击 Test configuration 发送测试邮件


三、配置 Extended E-mail(推荐)

1. 系统配置中找到 Extended E-mail Notification

  • SMTP server:smtp.qq.com
  • SMTP Port:465
  • 勾选 Use SSL
  • credentials:
  • 使用 Jenkins 凭据(推荐)
  • 类型:Username with password
  • Default Recipients:dev@example.com
  • Default Subject:
$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
  • Default Content(HTML 示例):
<p>项目: $PROJECT_NAME</p>
<p>构建: #$BUILD_NUMBER</p>
<p>状态: $BUILD_STATUS</p>
<p>详情: <a href="$BUILD_URL">$BUILD_URL</a></p>

四、在 Job 中使用邮件通知

Freestyle 项目

  1. 打开 Job 配置
  2. 勾选 Editable Email Notification
  3. 配置:
    • Project Recipient List:dev@example.com
    • Triggers:
      • Always
      • Failure
      • Success

Pipeline 示例

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'make'
            }
        }
    }
    post {
        failure {
            emailext (
                subject: "${env.JOB_NAME} - Build #${env.BUILD_NUMBER} Failed",
                body: """<p>Check console: ${env.BUILD_URL}</p>""",
                to: "dev@example.com"
            )
        }
        success {
            emailext (
                subject: "SUCCESS: ${env.JOB_NAME}",
                body: "Build succeeded",
                to: "dev@example.com"
            )
        }
    }
}

五、Debian 防火墙 & 端口

确保端口可用:

sudo ufw allow 465
sudo ufw allow 587

如用云服务器,还需在安全组开放端口。


六、常见问题

1. 邮件发送失败

  • 使用 授权码 而非邮箱密码
  • 检查 SMTP 端口和 SSL/TLS
  • 查看 Jenkins 日志:
sudo tail -f /var/log/jenkins/jenkins.log

2. Debian 无外网

  • 可配置本地 SMTP(Postfix)
sudo apt install postfix

如果你告诉我:

  • Jenkins 版本
  • 使用的邮箱(QQ / 163 / 企业微信 / Gmail)
  • Freestyle 还是 Pipeline

我可以给你精确配置示例。

0 踩