如何设置 Hudson CI,以便在构建失败后从服务器发送电子邮件?目前我得到的只是以下错误:
com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first
一个解决方案是按如下方式启动Hudson:
java -Dmail.smtp.starttls.enable="true" -jar /usr/share/hudson/hudson.war
不过,我已经使用以下命令启动 Hudson:
sudo /etc/init.d/hudson start
我认为解决方案是以某种方式在某个属性文件中设置系统属性 mail.smtp.starttls.enable,但我不知道该怎么做。我有什么选择?
谢谢大家!
答案1
查看/etc/init.d/hudson
脚本(您需要在编辑命令前加上 sudo),您将看到与上面列出的类似的 java 命令。只需将参数添加-Dmail.smtp.starttls.enable="true"
到该命令即可。
答案2
我使用这篇文章来准备发送电子邮件的环境,这非常有帮助。另一方面,在不更改 hudson 脚本的情况下将额外参数放入 java 中的最佳方法是更改定义系统默认值的 hudson 配置文件。
就我而言,我使用的是 CentOS,位置文件是 /etc/sysconfig/hudson - 首先停止服务:哈德逊服务站 -sudo vim hudson - 编辑帖子中需要的变量:
HUDSON_JAVA_OPTIONS="-Djava.awt.headless='true' -Dmail.smtp.starttls.enable='true'"
编辑后保存并再次启动hudson:哈德逊服务站
我希望我的评论能有所帮助
答案3
在 ubuntu 中,我通过修改 /etc/default 中的默认 jenkins 文件来添加 JAVA_ARGS 选项。然后重新启动 jenkins 以使更改生效。补丁如下。
--- /etc/default/jenkins.orig 2011-04-13 13:56:57.651180999 -0700
+++ /etc/default/jenkins 2011-04-13 14:23:38.651181002 -0700
@@ -8,6 +8,7 @@
# arguments to pass to java
#JAVA_ARGS="-Xmx256m"
+JAVA_ARGS='-Dmail.smtp.starttls.enable="true"'
PIDFILE=/var/run/jenkins/jenkins.pid