美文网首页maven程序员技术干货
maven---11配置jenkins的邮件反馈

maven---11配置jenkins的邮件反馈

作者: zlcook | 来源:发表于2016-12-02 14:11 被阅读840次

    1简介

    • 在看该文章之前你应该知道怎么使用jenkins进行持续集成了maven---10使用Jenkins进行持续集成
    • 持续集成中非常重要的一个步骤就是反馈。集成状态信息必须及时地通知给相关团队成员,最常见通知方式就是邮箱。
    • 下面介绍如何配置jenkins来及时发送集成反馈邮件。
      • 1.先配置邮件服务器信息(Jenkins用来给开发人员发提示邮件的邮件服务器,里面当然包含jenkins使用的邮件地址,一般配置公司的邮箱)
      • 2.配置jenkins中的任务使用邮件反馈。

    2配置邮箱服务器

    • 该邮件服务器是Jenkins用来给开发人员发提示邮件使用的。

    2.1配置参数

    • 配置位置:系统管理->系统设置-邮件通知。(系统设置中还有一个Extended E-mail Notification有可能是对邮箱通知的更多的配置)
    • 配置选项:


      邮箱配置
      • SMTP 服务器:SMTP邮件服务器地址。
      • 用户默认邮件后缀:默认用户邮件后缀。使用情况:比如默认是@163.com,当用户没有配置邮箱地址的时候,jenkins给用户发邮件会在其用户名后面加上该后缀作为接受邮箱。栗子:mike没有配置邮箱,jenkins需要给他发送邮件时就会给mike@163.com发送邮件。好处:公司员工邮箱后缀都一样,员工用户名+默认后缀就是他的邮箱时就很方便。
        
    • 用户名:系统管理员邮件地址,即jenkins邮件提示所使用的发送地址。
    • 密码:上面用户名对应的密码。(一般第三方登录此处填写授权码或其他的代替)
    • 其他配置使用默认。

    2.2测试配置信息

    • 配置完后测试一下邮箱服务器是否配置成功。
    • 案例:使用配置的邮箱服务器发送给一封邮件看看是否成功。

    2.2.1配置测试接收方邮箱

    • 先配置系统管理员邮件地址,该处配置的邮件要和下面的使用的发送邮件一致不然会出现553错误。


      Paste_Image.png
    • 选中邮箱通知下面的[通过发送测试邮件测试配置 ]选项,填写【Test e-mail recipient】,然后点击测试按钮。

    2.2.2测试失败

    Paste_Image.png

    2.2.3原因分析

    • 没有权限,百度后发现需要对163邮箱开启pop3/smtp服务,默认是关闭的。
    • 开启pop3/smtp服务后,163在第三方客户端使用了授权码来代替密码。所以需要将上面的【密码】配置填写163里的授权码。

    2.2.4开启pop3/smtp服务

    • 1设置163邮箱开启pop3/SMTP服务
      (qq类似都在邮箱设置中)
      以下设置都是连续的展开的。
    • 1.1 pop3/smtp服务
      Paste_Image.png
    Paste_Image.png Paste_Image.png
    • 1.2设置授权码
    • 1.2.1手机认证
      Paste_Image.png
    • 1.2.2设置授权码(在第三方客户端的输入的密码就是该授权码)
    Paste_Image.png Paste_Image.png

    2.2.4再次测试成功

    • 设置的授权码
      把邮箱密码填写刚才设置的授权码

      Paste_Image.png
    • 测试成功

    Paste_Image.png

    2.3保存配置信息

    点击保存按钮保存配置信息。

    3配置jenkins任务使用邮件反馈

    jenkins邮件服务器配置完城后,就需要配置jenkins任务使用邮件反馈。

    3.1配置位置

    项目配置界面-》构建后操作(英文叫Post-build Actions)。选择E-mail Notification选项。

    邮件通知配置选项

    3.2进行配置

    3.2.1什么样构建会触发邮件反馈

    * 邮件反馈的触发条件有以下几项,但是触发后具体的发送通知和下面【邮件发给谁】配置有关。

    触发邮件反馈的条件

    3.2.2邮件发给谁

    通过E-mail Notification中的三个可选择项来解释:(有的界面选项内容可能是英文)

    • Recipients中配置一个邮件列表(用空格分隔),列表中的用户会收到所有邮件反馈,一般来说负责人应该在这个列表中。
    • [单独发送邮件给对构建造成不良影响的责任人]选项。选择该选项后,邮件会发送给所有与这次构建相关的成员,即那些提交了本地构建代码更新的成员。由于jenkins无法精确第知道到底是谁的代码提交导致了构建失败,因此只能通知所有与代码更新相关的成员。
    • [每次不稳定的构建都发送邮件通知]选项:选中后表示为所有不稳定的构建触发反馈。不选中,只有成功构建后第一次不稳地构建才会出发邮件反馈。推荐选中。

    3.2.3推荐配置

    邮件通知推荐配置

    4测试邮件反馈

    4.1测试任务介绍

    • 这个测试的任务是maven---10使用Jenkins进行持续集成中的那个helloword任务。
    • helloword是jenkins中的一个持续集成的任务,任务源码是github上的cidemo项目,cidemo是一个maven项目,我克隆cidemo项目在本地后,会在本地编辑cidemo中的测试代码部分让其构建测试代码时失败,从而造成项目构建不稳定或者失败。然后通过git上传代码到github上,jenkins中的helloword任务检测到github上有新的提交时就会进行签出代码到jenkins工作空间进行构建,当调用maven命令进行构建测试代码时就会失败,此时就会触发jenkins的邮件反馈系统发送给我配置到的邮箱。

    4.2任务通知邮箱和人员邮箱配置

    4.2.1helloword任务的邮件通知配置。

    邮件通知推荐配置

    4.2.2开发人员邮箱配置

    • 该用户会修改代码,代码修改失败会发送失败邮件给他,所以除了上面两个邮箱外,还这个邮箱也会得到构建状态反馈。


      Paste_Image.png
    • 至于这个用户是怎么来的,我会在下一节讲一下,因为我忘了怎么来的(囧)。

    4.3修改代码

    • 通过git在本地修改代码的测试部分,然后提交到github上,此处可以参考maven---10使用Jenkins进行持续集成中操作。
    • 提交到github上后,helloword会根据【构建触发器策略】来触发新的构建工作。

    4.4查看邮箱结果

    邮箱里给出了错误的日志等信息。至于邮箱内容为什么会是这些?在哪里配置的?我还不清楚,我才有可能和系统配置里的Extended E-mail Notification配置项有关。


    邮箱结果

    4.5修复问题后邮箱通知结果

    • 修改代码将上面故意制造的问题修复,jenkins会再次发送邮件通知。
    • 为了避免混淆,我把594389970这个用户的邮箱该成了另一个。


      Paste_Image.png
    • 把 Recipients中邮箱只设置了一个。


      Paste_Image.png
    • jenkins邮箱服务器使用的邮箱不变。
    • 修改问题后jenkins反馈的内容如下:


      反馈邮箱内容

    总结

    • 邮件反馈是持续集成中很重要的一项功能,必须要会,不然错误信息都得不到。配置步骤在说一下:1.先配置邮箱服务器,jenkins用来给别人发通知邮件使用的。2.配置任务启用邮箱反馈,并配置相应反馈策略和需要知道项目所有状态的通知邮箱(Recipients中配置,一般是项目经理)。3.是配置开发 人员邮箱。

    遗留问题

    • 关于邮箱模板内容没有介绍。

    留言

    有什么不懂的一起探讨一下吧,欢迎留下宝贵意见,喜欢就点个赞吧(哈哈),多谢鼓励。

    相关文章

      网友评论

      • 9fa37c62fcdf:我遇到这个问题了,MessagingException消息:无法连接到SMTP主机:smtp.163.com,端口:25,请问该怎么解决
        zlcook:我所遇到的问题在上面都记录了,如果不是上面的问题,很遗憾,现在帮不了你。
      • wywincl:写的不错,要是写出美观的邮件模板来就更好了。
        zlcook:@wywincl 谢谢提醒,邮件模版也是很重要的,最近忙开题,等忙完后写出来。

      本文标题:maven---11配置jenkins的邮件反馈

      本文链接:https://www.haomeiwen.com/subject/gbwfmttx.html