2013-04-20 6 views
14

Moja Gitlab (wersja 5) nie wysyła żadnych e-maili i jestem zagubiony, próbując dowiedzieć się, co się dzieje. Dzienniki nie podają żadnych użytecznych informacji. Skonfigurowałem go do użycia sendmail.Jak mogę debugować wysyłanie wiadomości e-mail w Gitlab?

Napisałem mały skrypt, który wysyła wiadomość e-mail za pośrednictwem ActionMailera (domyślam się, że to właśnie Gitlab używa do wysyłania wiadomości e-mail, prawda?). I wysyła poprawnie wiadomość e-mail.

Ale, na moim Gitlab, mogę zagwarantować, że sendmail nie jest nawet wywoływany.

Czy muszę włączyć coś, aby otrzymywać powiadomienia pocztą e-mail? Jak mogę debugować mój problem?

Aktualizacja

Problem polega na tym, że nie mogę znaleźć żadnych informacji w dowolnym miejscu. Rzecz po prostu nie działa w milczeniu. Gdzie mogę znaleźć dziennik? Dzienniki w katalogu log nie zawierają żadnych przydatnych informacji.

Moje pytanie brzmi, jak mogę sprawić, by Gitlab był bardziej szczegółowy? Jak mogę sprawić, żeby mi powiedział, co się dzieje?

Aktualizacja 2

Właśnie znalazłem dużo maili zaplanowanych na odcinku Background jobs. Wiele nieprzetworzonych Sidekiq::Extensions::DelayedMailer. Co to znaczy? Dlaczego te prace nie zostały przetworzone?

+1

cokolwiek w dzienniku sidekiq (jak w https://github.com/gitlabhq/gitlabhq/ issues/2747)? Zauważ, że sidekiq jest zastąpione przez puma w 5.1, więc warto sprawdzić, czy problem nie ustąpi przy najnowszej wersji GitLab. – VonC

+0

Dziennik Sidekiq jest pusty. Przetestuję to z najnowszym gitlabem od mistrza. –

+0

Wciąż ten sam problem. Problem polega na tym, że nigdzie nie mogę znaleźć żadnej informacji. Rzecz po prostu nie działa w milczeniu. Gdzie mogę znaleźć dziennik? Dzienniki w katalogu 'log' nie zawierają żadnych użytecznych informacji. –

Odpowiedz

6

Najpierw powiem, co było moim Problem: sidekiq jest odpowiedzialny za obsługę wysyłania e-maili. Z jakiegoś powodu mój sidekiq utknął, ponowne uruchomienie go rozwiązało problem.

gdzie znalazłem informację o problemach znalazłem na Gitlab:

  1. kłody reż. Ma kilka informacji.
  2. Na stronie administratora sekcja "Zadania w tle" zawiera informacje o sidekiq.
  3. Konsola javascript (jeśli obsługuje ją przeglądarka) ma również przydatne informacje. Tylko jeśli twój problem jest związany z javascript.
  4. A jeśli osiągnąć ten punkt, można zmodyfikować kod Gitlab tak, możesz „obrysować” pisanie do pliku:

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

+0

Dobra opinia. +1 Mój wstępny komentarz nie był bardzo odległy od znaku. – VonC

2

Może spróbuj włączyć błędy dostawy w trybie produkcyjnym i zobaczyć co się dzieje

config.action_mailer.raise_delivery_errors = true 
+0

To już prawda. Mam na myśli, że znajduje się w 'config/environments/production.rb', prawda? –

+0

Tak, bez szczęścia ... – Intrepidd

+0

Właśnie znalazłem wiele maili zaplanowanych w sekcji Zadania w tle. Czy wiesz, co to znaczy? –

1

miałem ten sam problem i okazało się, że muszę 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. 

Uwaga: Używam Debiana 7, które używa exim do mail.

1

W sekcji admin under Zadania w tle, jeśli masz dużo elementów w zakładce Zaplanowane spróbuj ponownie sidekiq:

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