以下是重构后的内容,并保持了段落结构:

开发团队的预期目标是每天能产生可交付的代码,对于持续集成的目标是每一次的构建能产生可执行的程序。一旦构建失败,开发团队需要立即响应,修正,以解决延时带来的浪费。因此,构建失败的及时通知变得异常重要。如何能及时通知committer,是由谁导致的构建失败?这些工作如果你的团队还在人工执行,那么可以阅读下下面的方法,利用工具提高效率。很多工具为Jenkins开发了通知工具,点击查看Plugins,本文介绍其中的三种工具:邮件通知、简聊和Slack。

## 邮件通知

邮件通知是Jenkins的默认通知工具,可以直接配置。具体操作如下:

1. 系统管理设置

* Jenkins系统管理→系统设置

- 在配置界面中,使用一个已有的邮箱(比如163或者qq)作为邮件通知邮箱。

- 配置SMTP服务器,填写邮箱的用户名和密码。

- 用户默认邮件后缀是填写公司邮箱后缀,在邮件通知时会自动将后缀增加至svn提交者的用户名后面。

- 配置完成后可以勾选“通过发送测试邮件测试配置”。如果出现“Email was successfully sent”,代表配置没有问题。

2. Job配置

* 在需要邮件通知的Job设置里面增加“构建后操作步骤”→选择E-mail Notification。

- 在邮件通知配置中,可以选择在每一次构建成功或不成功时发送邮件给收件人。

3. Email extension plugin

* 如果群发的收件人列表比较多,或者每次通知的人不一样,可以考虑安装Email_Extension_Plugin插件进行更详细的设置。

* 在“系统设置”中选择“插件管理”,搜索Email extension plugin并直接安装。安装成功后,在Job设置里面增加“构建后步骤”。

希望这些信息对你有所帮助!

在Jenkins中选择“Editable Email Notification”

要配置Jenkins的邮件通知插件,首先需要进入“系统管理” > “系统设置”,然后点击“Extended E-mail Notification”。在这里,你可以设置一些以“$”开头的全局变量。需要注意的是,有些内容可能会被后面的高级设置覆盖,比如默认内容。

如果希望为构建成功和失败分别发送不同的邮件通知,可以点击“Advanced Setting”。在这里,你可以配置多种触发器(如Failure-Any、Failure-1st、Success、Fixed、Abort等),根据实际需求进行选择。每种触发器都可以针对不同的收件人进行设置,例如在Failure-Any中,可以添加上游提交者、请求者等。

每个触发器都可以在高级设置中单独配置默认主题、默认内容和收件人列表等,因此触发器中的设置可以覆盖上面的基础设置。

要配置Email extension plugin的详细版本,请参考官方文档。

在Jenkins中选择“简聊(Jianliao)”插件,这一步与配置邮件通知类似,不再赘述。要将简聊集成到Jenkins中,你需要访问简聊团队首页 > 聚合服务 > Jenkins,然后选择添加。通常情况下,你可以新建一个持续集成话题来作为Jenkins构建通知的接收渠道。

添加成功后,展开“设置指南”,查看Jenkins是如何设置简聊的。关键是将WebHook地址复制到Jenkins自己的Job中。设置指南已经非常详细,我就不再赘述了。

最后,要配置Slack通知,请确保你已经在Jenkins中安装并启用了Slack插件。然后,进入你的Slack工作区,点击左侧菜单栏的“+”按钮,选择“Webhooks App”,然后点击“Add Webhook”。在弹出的窗口中输入你的Jenkins Job的URL和Slack Channel名称,然后点击“Add Webhook”。这样,当Jenkins有新的构建时,Slack通知就会发送到指定的频道。

在国内,团队使用Slack的情况并不多见。尽管如此,Slack在国外的热度依然很高。尽管登录速度较慢,但在使用团队版的Slack时,首页访问没有任何问题。本节将针对已经在Slack上注册了团队版并希望利用Slack进行Jenkins构建通知的用户进行讲解。

首先,需要在Jenkins中安装Slack插件。这一步骤与使用同一邮箱的用户相同,无需赘述。

接下来,登录Slack,进入团队设置中的App&integrations页面。在这里,我们可以直接在搜索栏中输入“Jenkins”,然后跳转至Jenkins配置页面。

在新添加的Jenkins配置页面中,我们需要选择要通知的Slack频道。完成选择后,点击页面下方的“Add Jenkins CI integration”按钮(图2)。这时,你将看到详细的Jenkins接入指引。按照这些指引操作,通常不会出现太大问题。需要注意的是,Slack与简聊不同,它通过Token来标识CI集成的通知标识(图3)。

总结:

以上就是三种通知渠道的使用方式。那么,你更喜欢哪种呢?个人认为,如果团队成员习惯于使用实时沟通工具,那么Slack和企业微信都是不错的选择。它们的通知方式更为方便,比传统邮箱更加实时。当然,如果你的团队还没有接入相关工具,使用邮箱也是可以达到类似目的的。

如有疑问,请随时交流。