如何发送Maven构建的电子邮件通知

有没有一种简单的方法可以在没有外部CI工具的情况下在Maven中为每个构建发送电子邮件通知,就像Ant一样?

如果CI不是一个选项,我会使用一个简单的脚本包装器:

mvn install 2>&1 | tee build.log && cat build.log | mail -s 'Maven build output' user@example.com && rm -f build.log 

如果您决定使用CI工具,我强烈推荐Hudson。 安装页面显示了运行的简便性。 持续集成服务器听起来华而不实,但是Hudson很简单。

我强烈建议您使用CI工具为您管理,我个人喜欢配置要在构建中发送哪些电子邮件以避免发送垃圾邮件。 例如,仅在构建开始失败时通知,或者再次开始工作,而不是在每次失败时通知。

如果您确定这是正确的方法,您可以使用maven-changes-plugin在每个构建上发送电子邮件。 您可以使用velocity自定义邮件模板 ,并将目标的执行绑定到适当的阶段,以便在需要时将其发送。

我还将配置放在配置文件中,以便在您希望它发送时(即配置文件处于活动状态时)。

配置看起来像这样:

   notify    org.apache.maven.plugins maven-changes-plugin    install  announcement-mail     mail.yourhost.com 25   someones@email.com  someoneelse@email.com    mailTemplate       

虽然这个问题有点老了,但有些人可能还需要一个不同的解决方案:我已经为此创建了一个插件。 看看github.com上的插件页面 。 多部分替代MimeMessages没有实现(看看FAQ的原因),以及一个体面的模板,但只要你只是想发送带附件的文本邮件,它应该做的伎俩。

我计划将它提交给mojo.codehaus.org,因此gId。 目前,您必须自己编译 – 抱歉给您带来不便。

还有一个高度可定制的Postman邮件插件 ,它为您提供发送测试结果的选项,甚至是指定源文件的任意html。 这是一个很好的线程,解释了它应该如何配置。

我不使用Maven,但我认为你可以用插件做到这一点。