Отправка электронной почты с помощью SMTP (Gmail) от Hudson CI

Как настроить Hudson CI, чтобы я мог отправлять электронные письма с сервера после сбоя сборки? На данный момент все, что я получаю, это следующая ошибка:

com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first

Одним из решений является запуск Гудзона следующим образом:

java -Dmail.smtp.starttls.enable="true" -jar /usr/share/hudson/hudson.war

Тем не менее, я уже использую следующее, чтобы начать Хадсон:

sudo /etc/init.d/hudson start

Я думаю, что решение состоит в том, чтобы как-то установить системное свойство mail.smtp.starttls.enable где-нибудь в файле свойств, но я понятия не имею, как это сделать. Какие у меня варианты?

Спасибо всем заранее!

3 ответа

Решение

Загляни в свой /etc/init.d/hudson сценария (вам нужно добавить префикс команды редактирования к sudo), и вы увидите команду java, похожую на ту, что вы перечислили выше. Просто добавьте -Dmail.smtp.starttls.enable="true" парамтер этой команды, и вы должны быть в порядке.

В Ubuntu я добавил это, изменив файл jenkins по умолчанию в /etc/default, чтобы добавить опцию JAVA_ARGS. Затем перезапустил Дженкинс, чтобы изменения вступили в силу. Патч ниже.

--- /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

Я использовал этот пост, чтобы подготовить свою среду для отправки электронной почты, которая была очень полезной. С другой стороны, лучший способ поместить дополнительные параметры в java без изменения сценария hudson - это изменение файла конфигурации hudson, который определяет значения по умолчанию для системы.

В моем случае я использовал CentOS, а файл местоположения - /etc/sysconfig/hudson - сначала остановите службу: остановка службы hudson- sudo vim hudson- отредактируйте переменные, которые вам нужны в случае публикации:

HUDSON_JAVA_OPTIONS = "- Djava.awt.headless = 'true' -Dmail.smtp.starttls.enable = 'true'"

Сохраните после редактирования и запустите Hudson снова: сервис Hudson Stop

Я надеюсь, что мои комментарии могут помочь

Другие вопросы по тегам