我设置了第二个GitLab服务器。我喜欢这个工具:)
但实际上我遇到了一个问题,我在第一次设置时也遇到了问题,但能够修复它。今天我不是。我现在正在寻找几个小时。
GitLab正在运行。非常好。 我可以创建一个新用户。非常好。 但邮件不会发送。实际上并不是那么好。
在“GITLABURL / admin / background_jobs”中,sidekiq为“inactiv”,默认队列的大小为“2”。 两个就像:
Sidekiq::Extensions::DelayedMailer ["---\n- !ruby/class 'Notify'\n- :new_user_email\n- - 9\n - XYZ\n"]
我实际上是手动调用sendmail来发送邮件。那成功了。
application.log,sidekiq.log,production.log,mail.log,mail.info,mail.warn,mail.err和exims mainlog没有信息。 我在哪里可以搜索找到问题?
我读到了关于运行
的内容sudo -u git bundle exec rake environment resque:work QUEUE=* RAILS_ENV=production BACKGROUND=yes
手动,但不起作用
rake aborted!
Don't know how to build task 'resque:default'
如果有人有任何想法,请写信给我。
谢谢:)
答案 0 :(得分:1)
GitLab从Resque更改为Sidekiq,用于处理4.1中的后台作业。您可以像这样手动运行Sidekiq:
bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,common,default,gitlab_shell
如果您使用init scripts,则应使用GitLab Web应用程序自动启动Sidekiq,installation process应作为{{3}}的一部分安装。如果您这样做,请检查sudo /etc/init.d/gitlab start
的输出,看看它无法正常启动的原因。
答案 1 :(得分:1)
这是因为Sidekiq 2.17.8不会处理用逗号分隔的请求...
您可以手动运行sidekiq
,将,
替换为-q
bundle exec sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q common -q default -q gitlab_shell
或更改您的守护程序。
https://github.com/gitlabhq/gitlab-recipes/tree/master/init/systemd
我刚刚更改了文件中的一行
/etc/systemd/system/multi-user.target.wants/gitlab-sidekiq.service
从:
ExecStart=/usr/bin/bundle exec "sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,commo n,default -e production -L /var/log/gitlab/sidekiq.log >> /var/log/gitlab/sidekiq.log 2>&1"
为:
ExecStart=/usr/bin/bundle exec "sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_ shell -q common -q default -e production -L /var/log/gitlab/sidekiq.log >> /var/log/gitlab/sidekiq.log 2>&1"
它有效