2013-04-20 6 views
14

Mein Gitlab (Version 5) sendet keine E-Mails und ich bin verloren, wenn ich herausfinden will, was passiert. Die Protokolle geben keine nützlichen Informationen. Ich habe es so konfiguriert, dass es sendmail verwendet.Wie kann ich E-Mail-Versand auf Gitlab debuggen?

Ich schrieb ein kleines Skript, das E-Mails über ActionMailer sendet (ich denke, es ist das, was gitlab verwendet, um E-Mails zu senden, oder?). Und es sendet die E-Mail korrekt.

Aber auf meinem Gitlab kann ich garantieren, dass sendmail nicht einmal aufgerufen wird.

Muss ich etwas aktivieren, um E-Mail-Benachrichtigungen zu erhalten? Wie kann ich mein Problem debuggen?

aktualisiert

Das Problem ist, dass ich keine Informationen überall finden kann. Das Ding versagt einfach still. Wo kann ich eine Art Protokoll finden? Die Protokolle im Verzeichnis log bieten keine nützlichen Informationen.

Meine Frage ist, wie kann ich Gitlab ausführlicher machen? Wie kann ich mir sagen, was vor sich geht?

Update 2

Ich habe gerade eine Menge von E-Mails auf dem Background jobs Abschnitt geplant. Viele unverarbeitete Sidekiq::Extensions::DelayedMailer. Was heißt das? Warum wurden diese Jobs nicht bearbeitet?

+1

Alles in sidekiq log (wie in https://github.com/gitlabhq/gitlabhq/ Ausgaben/2747)? Beachten Sie, dass Sidekiq in 5 durch Puma ersetzt wird.Daher wäre es interessant zu prüfen, ob das Problem mit dem neuesten von GitLab weiterhin besteht. – VonC

+0

Sidekiq Protokoll ist leer. Ich werde es mit dem neuesten Gitlab vom Meister testen. –

+0

Immer noch das gleiche Problem. Das Problem ist, dass ich nirgends Informationen finden kann. Das Ding versagt einfach still. Wo kann ich eine Art Protokoll finden? Die Protokolle im Verzeichnis 'log' enthalten keine nützlichen Informationen. –

Antwort

6

Zuerst geschieht, ich werde sagen, was mein Problem ist: Die sidekiq für den Umgang mit dem Versand von E-Mail verantwortlich ist. Aus irgendeinem Grund war mein sidekiq fest und der Neustart hat das Problem gelöst.

Wo ich Informationen zu Problemen fand ich auf Gitlab gefunden:

  1. Die Protokolle Richt. Es hat ein paar Informationen.
  2. Auf der Admin-Seite gibt der Abschnitt "Hintergrundjobs" Informationen zum Sidekiq.
  3. Die JavaScript-Konsole (sofern Ihr Browser dies unterstützt) enthält ebenfalls nützliche Informationen. Nur wenn Ihr Problem mit Javascript zusammenhängt.
  4. Und wenn Sie diesen Punkt erreichen, können Sie Gitlab den Code ändern, so dass Sie „es Trace“ kann in eine Datei schreiben:

    File.open('/tmp/logfile','a') { |file| file.write("Hello World!\n") }

+0

Gute Rückmeldung. +1 Mein erster Kommentar war nicht sehr weit von der Marke entfernt. – VonC

2

versuchen Vielleicht Lieferung Fehler im Produktionsmodus aktiviert und sehen, was

config.action_mailer.raise_delivery_errors = true 
+0

Es ist schon wahr. Ich meine, es befindet sich in 'config/environments/production.rb', richtig? –

+0

Yup, kein Glück, dann ... – Intrepidd

+0

Ich habe gerade viele Mails im Bereich Hintergrundjobs geplant. Weißt du, was es bedeutet? –

1

Ich hatte das gleiche Problem und fand, dass ich brauchte, to mod application.rb:

diff --git a/config/application.rb b/config/application.rb 
index d85bcab..274976f 100644 
--- a/config/application.rb 
+++ b/config/application.rb 
@@ -11,6 +11,8 @@ end 

module Gitlab 
    class Application < Rails::Application 
+ config.action_mailer.sendmail_settings = { :arguments => "-i" } 
+ 
    # Settings in config/environments/* take precedence over those specified here. 
    # Application configuration should go into files in config/initializers 
    # -- all .rb files in that directory are automatically loaded. 

Hinweis: Ich benutze Debian 7, die Exim für Mail verwendet.

1

Im Admin-Bereich unter Hintergrundjobs, wenn Sie viele Elemente im Spiel Registerkarte versuchen haben sidekiq Neustart:

cd /home/git/gitlab  
exec rake sidekiq:start RAILS_ENV=production 
Verwandte Themen