Как я могу настроить 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
Надеюсь, мои комментарии могут помочь