jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能

时间:2023-03-08 15:25:46
jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能

smtp2http 是一个很方便的可以将smtp 转换为http 服务的工具,同时也支持扩展的开发,我们可以使用此工具
扩展灵活的ci、cd 生命周期管理,而不是简单的邮件处理
备注: 使用docker-compose 运行

环境准备

  • docker-compose 文件
    注意为了方便使用了一个webhook 的工具
version: "3"
services:
  app:
   image: jenkins/jenkins:lts-alpine
   ports:
   - "8080:8080"
   volumes:
   - "./app:/var/jenkins_home"
  benthos:
    image: jeffail/benthos
    volumes:
    - "./conf/webhook.yaml:/benthos.yaml"
    ports:
    - "4195:4195"
  smtp2http:
    image: dalongrong/smtp2http
    command: --listen=:25 --webhook=http://benthos:4195/ --strict=false
  • web hook 配置
    conf/webhook.yaml
input:
  type: broker
  broker:
    inputs:
      - type: http_server
        http_server:
          path: /
        processors:
          - type: text
            text:
              operator: prepend
              value: "get email message: "
output:
  type: stdout

启动&&配置&&测试

  • 启动
docker-compose up -d
  • 配置
    包括jenkins 的初始化,这个比较简单,选择默认的,等待并创建第一个账户就可以了
    配置邮件如下:
    jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能
    jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能

添加*项目&&配置邮件通知

  • 添加job
    jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能
  • 配置构建
    构建触发
    jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能
    post 构建
    jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能
    邮件发送策略
    jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能
  • 构建
    email send 日志
    jenkins 使用smtp2http 邮件服务,扩展灵活的构建通知功能

说明

这个只是简单的stdout 信息,实际我们可以解析请求的内容,并根据规则重新发送

参考资料

https://github.com/rongfengliang/jenkins-smtp2http_dokcer-running