Jenkins-通知

Jenkins的通知方式非常多,具体如下:

  • 电子邮件通知

  • 声明构建

  • RSS订阅

  • 构建分发器

  • 即时消息

  • IRC通知

  • 桌面通知器

  • 通过Notifo通知

  • 移动通知

  • 短信通知

  • 制造噪声

  • 极端反馈设备

电子邮件通知

电子邮件通知是持续集成中最明显和最常见的通知形式,因此,我们这里重点讲电子邮件通知。

我们可以在Jenkins中通过勾选E-mail Notification复选框激活Jenkins电子邮件通知,但实际上Jenkins自带的电子邮件通知功能可定制性不强。通常我们推荐使用Email-Extension插件(插件安装方法不再在此介绍),该插件允许我们定义一个更精致的电子邮件通知策略。

首先,它可以让我们自定义电子邮件通知消息。我们可以定义邮件的标题和正文,其中正文可以自定义以下内容(括号中为预定义的标签):

  • 项目名称(${PROJECT_NAME})

  • 构建时间(${BUILD_TIMESTAMP})

  • 当前构建号(${BUILD_NUMBER})

  • 当前构建状态(${BUILD_STATUS})

  • 构建的原因(${CAUSE})

  • 构建作业页面的链接(${BUILD_URL})

  • 构建失败的单元测试信息(${FAILED_TESTS})

  • 自上次构建以来所做的修改(${CHANGES})

  • 自从上次成功构建以来所做的所有修改(${CHANGES_SINCE_LAST_SUCCESS})

  • SVN地址(${SVN_URL})

  • SVN版本(${SVN_REVISION})

    等。

其次,我们可以自定义触发条件,也就是何时发送邮件:

  • Always:任何一次构建之后

  • Failure-1st:第一次构建失败

  • Failure-Any:任何时候构建失败

  • Failure-Still:任何连续构建失败

  • Unstable(Test Failures):任何时候构建是不稳定的

  • Unstable(Test Failures)-Still:任何连续的不稳定构建

  • Success:任何成功的构建

  • Fixed:当构建从失败或不稳定变成成功

  • Before Build:每次构建开始之前

    等。

最后,我们还可以自定义通知的人,也就是邮件发给谁:

  • Culprits:如果已经选择了Developers,邮件将包含最后一次成功构建的提交者

  • Developers:最后一次构建的代码提交者

  • Recipient List:收件人列表,即“Project Recipient List ”列表中的所有人

  • Requester:构建触发者

  • Suspects Causing Unit Tests to Begin Failing:导致单元测试失败的人

  • Suspects Causing the Build to Begin Failing:导致构建失败的人

  • Upstream Committers:上次构建成功后提交修改的每个人

好的实践

经过实践,我们发现:开发人员更关心的是构建失败,因为他需要及时知道构建失败的结果并及时进行修复,而团队负责人更关心的是构建失败是否有人及时修复。因此,为了减少邮件通知分散大家精力,我们建议采用以下电子邮件通知策略:

  • 第一次构建失败只发送给提交更改的开发人员

  • 任何连续构建失败同时发送给团队负责人

  • 构建失败之后的首次构建成功同时发送给团队负责人

如下图所示:其中收件人列表中放置团队负责人。

2.PNG

你可能感兴趣的:(Jenkins-通知)