And*_*uel 16 ruby ruby-on-rails gitlab
我的Gitlab(第5版)没有发送任何电子邮件,我迷失了,试图弄清楚发生了什么.日志没有提供有用的信息.我把它配置为使用sendmail.
我写了一个小脚本,通过ActionMailer发送电子邮件(我想这是gitlab用来发送电子邮件的,对吧?).它正确地发送电子邮件.
但是,在我的Gitlab上,我可以保证甚至不会调用sendmail.
我是否需要启用某些内容才能收到电子邮件通知?我该如何调试我的问题?
问题是我无法在任何地方找到任何信息.事情就是默默地失败了.我在哪里可以找到某种日志?logdir中的日志不提供有用的信息.
我的问题是,如何使Gitlab更加冗长?我怎么能告诉我发生了什么?
我刚刚在该Background jobs部分发现了很多邮件.很多未经处理的Sidekiq::Extensions::DelayedMailer.这是什么意思?为什么这些工作没有得到处理?
首先,我将告诉我的问题:sidekiq负责处理发送电子邮件.由于某种原因,我的sidekiq卡住了,重新启动它解决了问题.
在哪里我找到了有关我在Gitlab上发现的问题的信息:
如果你达到这一点,你可以修改Gitlab的代码,这样你就可以"追踪它"写入文件:
File.open('/tmp/logfile','a') { |file| file.write("Hello World!\n") }
今天偶然发现了这个问题,这是我的研究:
目前尚不支持在GitLab GUI中调试SMTP连接。但是,存在待处理的功能请求和命令行解决方案。
设置所需的SMTP设置/etc/gitlab/gitlab.rb并运行gitlab-ctl reconfigure(请参阅https://docs.gitlab.com/omnibus/settings/smtp.html)。
启动控制台运行gitlab-rails console production。
显示:smtp运行命令配置的传递方法(应该是)ActionMailer::Base.delivery_method。显示所有正在运行的已配置SMTP设置ActionMailer::Base.smtp_settings。
发送测试邮件运行
Notify.test_email('youremail@example.com', 'Hello World', 'This is a test message').deliver_now
Run Code Online (Sandbox Code Playgroud)
在GitLab的管理页面上,“后台作业”部分显示有关所有作业的信息。SMTP连接失败也会在此列出。
请注意,您可能需要重新启动GitLab实例才能使用新配置的SMTP设置(在我的实例中,控制台能够发送邮件,GUI需要重新启动)。运行gitlab-ctl restart以重新启动实例。