Как я могу отлаживать отправку электронной почты в Gitlab? - программирование
Подтвердить что ты не робот

Как я могу отлаживать отправку электронной почты в Gitlab?

My Gitlab (версия 5) не отправляет никаких электронных писем, и я теряюсь, пытаясь понять, что происходит. Журналы не дают никакой полезной информации. Я настроил его на использование sendmail.

Я написал небольшой script, который отправляет e-mail через ActionMailer (я думаю, это то, что gitlab использует для отправки электронной почты, верно?). И он отправляет электронное письмо правильно.

Но, по моему Gitlab, я могу гарантировать, что sendmail даже не вызывается.

Нужно ли мне активировать что-то, чтобы получать уведомления по электронной почте? Как я могу отладить мою проблему?

Update

Проблема в том, что я нигде не могу найти какую-либо информацию. Дело просто терпит неудачу. Где я могу найти какой-то журнал? Журналы в каталоге log не содержат никакой полезной информации.

Мой вопрос: как я могу сделать Gitlab более подробным? Как я могу заставить его рассказать мне, что происходит?

Обновление 2

Я только что нашел много писем, запланированных в разделе Background jobs. Много необработанных Sidekiq::Extensions::DelayedMailer. Что это значит? Почему эти задания не обрабатывались?

4b9b3361

Ответ 1

Во-первых, я расскажу, в чем была моя проблема: Sidekiq отвечает за обработку отправки электронной почты. По какой-то причине мой sidekiq застрял, перезапуск решил проблему.

Где я нашел информацию о проблемах, которые я нашел в Gitlab:

  • Диаграммы журналов. Он имеет несколько сведений.
  • На странице администратора раздел "Справочные задания" содержит информацию о sidekiq.
  • Консоль javascript (если ваш браузер поддерживает ее) также имеет полезную информацию. Только если ваша проблема связана с javascript.
  • И если вы достигнете этой точки, вы можете изменить код Gitlab, чтобы вы могли "проследить" его запись в файл:

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

Ответ 2

Возможно, попробуйте включить ошибки доставки в режиме производства и посмотреть, что произойдет

  config.action_mailer.raise_delivery_errors = true

Ответ 3

У меня была такая же проблема, и я обнаружил, что мне нужно 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.

Примечание. Я запускаю Debian 7, который использует exim для почты.

Ответ 4

В разделе admin в разделе "Фоновые задания", если у вас много элементов на вкладке "Запланировать", попробуйте перезапустить sidekiq:

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