Отправка электронной почты с помощью 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
Я надеюсь, что мои комментарии могут помочь