Senden von E-Mails mit SMTP (Gmail) von Hudson CI

7

Wie kann ich Hudson CI so einrichten, dass ich nach einem Build-Fehler E-Mails vom Server senden kann? Im Moment bekomme ich nur folgenden Fehler:

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

Eine Lösung besteht darin, Hudson wie folgt zu starten:

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

Ich verwende jedoch bereits Folgendes, um Hudson zu starten:

sudo /etc/init.d/hudson start

Ich denke, die Lösung besteht darin, die Systemeigenschaft mail.smtp.starttls.enable irgendwo in einer Eigenschaftendatei festzulegen, aber ich habe keine Ahnung, wie das geht. Was sind meine Optionen?

Vielen Dank im Voraus!

jensendarren
quelle

Antworten:

4

Werfen Sie einen Blick in Ihr /etc/init.d/hudsonSkript (Sie müssen dem Bearbeitungsbefehl sudo voranstellen) und Sie sehen einen ähnlichen Java-Befehl wie den oben aufgeführten. -Dmail.smtp.starttls.enable="true"Fügen Sie diesem Befehl einfach den Parameter hinzu, und Sie sollten bereit sein.

gareth_bowles
quelle
Danke für deine Hilfe, Gareth. Ich habe das Skript /etc/init.d/hudson wie von Ihnen vorgeschlagen geändert, aber ich habe es erst nach dem Neustart des Servers geschafft, es zum Laufen zu bringen! /etc/init.d/hudson Neustart hat nicht funktioniert. Tatsächlich scheint sogar /etc/init.d/hudson stop Hudson nicht aufzuhalten! Wie kann ich Hudson neu starten, ohne den Server neu zu starten? Vielen Dank nochmal!
Jensendarren
AKTUALISIEREN! Ich fand heraus, dass für Hudson zwei Daemon-Prozesse ausgeführt wurden, indem "pgrep daemon" und dann ps für jede Daemon-PID verwendet wurden. Ich habe Hudson einfach gestoppt (mit /etc/init.d/hudson stop), dann den noch laufenden Daemon getötet und Hudson gestartet (mit /etc/init.d/hudson start) und es kann losgehen.
Jensendarren
1

Ich habe diesen Beitrag verwendet, um meine Umgebung darauf vorzubereiten, E-Mails zu senden, die so hilfreich waren. Andererseits ist die beste Möglichkeit, zusätzliche Parameter in Java einzufügen, ohne das Hudson-Skript zu ändern, das Ändern der Hudson-Konfigurationsdatei, die die Standardwerte für das System definiert.

In meinem Fall habe ich CentOS verwendet und die Speicherortdatei ist / etc / sysconfig / hudson - stoppe zuerst den Dienst: service hudson stop - sudo vim hudson - Bearbeiten Sie die Variablen, die Sie für den Beitrag benötigen:

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

Speichern Sie nach der Bearbeitung und starten Sie Hudson erneut: Service Hudson Stop

Ich hoffe meine Kommentare konnten helfen


quelle
1

In Ubuntu habe ich dies hinzugefügt, indem ich die Standard-Jenkins-Datei in / etc / default geändert habe, um die Option JAVA_ARGS hinzuzufügen. Starten Sie dann Jenkins neu, damit die Änderung wirksam wird. Patch unten.

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