Email Jenkins-可编辑电子邮件通知插件-整个构建失败

Email Jenkins-可编辑电子邮件通知插件-整个构建失败,email,jenkins,notifications,jenkins-plugins,status,Email,Jenkins,Notifications,Jenkins Plugins,Status,在Jenkins中,有一个插件,用于在作业针对各种触发器运行时发送通知。此插件取决于在Jenkins全局配置中设置邮件服务器 可编辑电子邮件通知插件-如果无法访问邮件服务器(端口25),或者由于某种原因,如果编辑电子邮件通知post操作失败(对于我们在作业配置中设置的各种触发器),则会使整个构建失败 现在,如果我有一个构建/部署作业,它成功地完成了(在做主要工作时),但在发送电子邮件部分失败了(由于邮件服务器的一些问题),那么为什么它会将整个作业标记为失败 电子邮件触发操作不应将生成标记为失败(

在Jenkins中,有一个插件,用于在作业针对各种触发器运行时发送通知。此插件取决于在Jenkins全局配置中设置邮件服务器

可编辑电子邮件通知插件-如果无法访问邮件服务器(端口25),或者由于某种原因,如果编辑电子邮件通知post操作失败(对于我们在作业配置中设置的各种触发器),则会使整个构建失败

现在,如果我有一个构建/部署作业,它成功地完成了(在做主要工作时),但在发送电子邮件部分失败了(由于邮件服务器的一些问题),那么为什么它会将整个作业标记为失败

电子邮件触发操作不应将生成标记为失败(如果电子邮件触发部分由于邮件服务器问题而失败),Jenkins应将电子邮件排队(以便在邮件服务器备份/备份/联机后稍后发送电子邮件,或者post操作不应对作业状态产生任何影响)。如果电子邮件触发器失败,只需回显-电子邮件发送操作失败,因为邮件服务器因此/那个(详细消息)而出现问题

我怎样才能摆脱这种局面。我有一个长期运行的作业,我不想重新运行它(如果我知道邮件服务器重新联机),即使我重新运行作业,我也不能100%确定邮件服务器是否会启动/运行

只是想看看我们是否可以在编辑电子邮件通知中设置一个选项,如果电子邮件通知步骤失败(即增强此插件),则不将构建作业标记为失败,或者我可以通过其他方式摆脱这种情况

17:15:55 ERROR: Could not send email as a part of the post-build publishers.
17:15:55 javax.mail.MessagingException: Could not connect to SMTP host: my-mailhost.company.com, port: 25;
17:15:55   nested exception is:
17:15:55    java.net.ConnectException: Connection refused
17:15:55    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
17:15:55    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
17:15:55    at javax.mail.Service.connect(Service.java:295)
17:15:55    at javax.mail.Service.connect(Service.java:176)
17:15:55    at javax.mail.Service.connect(Service.java:125)
17:15:55    at javax.mail.Transport.send0(Transport.java:194)
17:15:55    at javax.mail.Transport.send(Transport.java:124)
17:15:55    at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:306)
17:15:55    at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:281)
17:15:55    at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:233)
17:15:55    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
17:15:55    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:772)
17:15:55    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:736)
17:15:55    at hudson.model.Build$BuildExecution.cleanUp(Build.java:192)
17:15:55    at hudson.model.Run.execute(Run.java:1778)
17:15:55    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
17:15:55    at hudson.model.ResourceController.execute(ResourceController.java:88)
17:15:55    at hudson.model.Executor.run(Executor.java:234)
17:15:55 Caused by: java.net.ConnectException: Connection refused
17:15:55    at java.net.PlainSocketImpl.socketConnect(Native Method)
17:15:55    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
17:15:55    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
17:15:55    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
17:15:55    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
17:15:55    at java.net.Socket.connect(Socket.java:519)
17:15:55    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:286)
17:15:55    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231)
17:15:55    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
17:15:55    ... 17 more
17:15:55 Finished: FAILURE

虽然我重新检查了该插件的配置,但在该电子邮件插件中找不到任何选项来摆脱你的坐姿

我知道,也许可以用其他方式节省你的时间

  • 创造两个工作岗位:项目A(主)和项目B
  • 在主项目-A中配置触发其他项目上的参数化构建,以触发项目-B运行
  • 如果主项目A运行稳定,项目B只需发送电子邮件。因此,主项目-A的结果不会受到脱机邮件服务器的影响
  • 电子邮件中所需的参数可以通过插件轻松传输

  • 我希望这能帮助你

    是的,这将是我最后的选择,在电子邮件通知中使用这些参数。