2013-04-20 9 views
14

Il mio Gitlab (versione 5) non invia alcuna e-mail e sono perso cercando di capire cosa sta succedendo. I registri non forniscono informazioni utili. L'ho configurato per usare sendmail.Come posso eseguire il debug di invio di e-mail su Gitlab?

Ho scritto un piccolo script che invia e-mail tramite ActionMailer (suppongo che sia ciò che gitlab utilizza per inviare e-mail, giusto?). E invia l'e-mail correttamente.

Ma, sul mio Gitlab, posso garantire che sendmail non viene nemmeno chiamato.

Devo abilitare qualcosa per ricevere le notifiche via e-mail? Come posso eseguire il debug del mio problema?

Aggiornamento

Il problema è che non riesco a trovare alcuna informazione da nessuna parte. La cosa fallisce silenziosamente. Dove posso trovare qualche tipo di registro? I registri nella directory log non forniscono informazioni utili.

La mia domanda è: come posso rendere Gitlab più dettagliato? Come posso farmi dire cosa sta succedendo?

Update 2

Ho appena trovato un sacco di mail di linea sulla sezione Background jobs. Un sacco di non elaborato Sidekiq::Extensions::DelayedMailer. Cosa significa? Perché questi lavori non sono stati elaborati?

+1

Tutto ciò nel registro sidekiq (come in https://github.com/gitlabhq/gitlabhq/ problemi/2747)? Nota che sidekiq è sostituito da puma in 5.1 quindi sarebbe interessante verificare se il problema persiste con l'ultima versione di GitLab. – VonC

+0

Il log Sidekiq è vuoto. Lo testerò con l'ultimo gitlab del master. –

+0

Ancora lo stesso problema. Il problema è che non riesco a trovare alcuna informazione da nessuna parte. La cosa fallisce silenziosamente. Dove posso trovare qualche tipo di registro? I registri nella directory 'log' non forniscono informazioni utili. –

risposta

6

In primo luogo, vi dirò quello che era il mio problema: Il sidekiq è responsabile della gestione l'invio di e-mail. Per qualche ragione il mio sidekiq era bloccato, ricominciando ha risolto il problema.

dove ho trovato informazioni sui problemi che ho trovato su Gitlab:

  1. i registri dir. Ha alcune informazioni.
  2. Nella pagina di amministrazione, la sezione "Lavori in background" fornisce informazioni sul sidekiq.
  3. La console javascript (se il browser lo supporta) ha anche informazioni utili. Solo se il tuo problema è legato a javascript.
  4. E se si raggiunge questo punto, è possibile modificare il codice di Gitlab in modo da poter "rintracciare" scrittura di un file:

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

+0

Buona risposta. +1 Il mio commento iniziale non era molto lontano dal marchio. – VonC

2

magari provare consentendo errori di consegna in modalità di produzione e vediamo cosa succede

config.action_mailer.raise_delivery_errors = true 
+0

È già vero. Voglio dire, si trova in 'config/environments/production.rb', giusto? –

+0

Sì, buona fortuna allora ... – Intrepidd

+0

Ho appena trovato un sacco di mail programmate nella sezione Lavori in background. Sai cosa significa? –

1

Ho avuto lo stesso problema e ha scoperto che avevo bisogno a application.rb mod:

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. 

Nota: io corro Debian 7 che usa exim per la posta.

1

Nella sezione admin sotto Lavoro di sfondo se si dispone di un sacco di elementi nella scheda Scheduled provare a riavviare sidekiq:

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