Назад | Перейти на главную страницу

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

Как я могу настроить 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 где-нибудь в файле свойств, но я понятия не имею, как это сделать. Какие у меня варианты?

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

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

В ubuntu я добавил это, изменив файл jenkins по умолчанию в / etc / default, чтобы добавить параметр 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

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

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

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

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

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