1

まず第一に、gitlab を使用するときに Web アプリケーションを介してユーザーとプロジェクトを管理するためのこのような強力なソリューションに本当に興奮しています。

インストールを完了し、smpt 設定をファイル config/production.rb に追加しました。

 config.action_mailer.delivery_method = :smtp
 config.action_mailer.smtp_settings = {
 :address => 'myserver.com',
 :port => 25,
 :domain => 'gitlab.adomain.com',
 :authentication => :plain,
 :user_name => 'gitlab@myserver.com',
 :password => '',
 :enable_starttls_auto => true
 }

さらに、config/gitlab.yml ファイルを変更しました。

email:
from: account@myserver.com
…

SMTP 設定がチェックされ、他のアプリケーションで適切に動作します。ユーザーをプロジェクトに追加するとき、または自作のフックを使用せずにコミットがリモートに伝播される場合でも、通知が送信されることを期待してgitlab-serverを再起動しました。しかし、そうではありません。

これは私のウェブインターフェースの出力です:

     gitserver:3254 on mailer at 2 minutes ago

Class
    Notify
Arguments

    "project_access_granted_email"
    31    
Exception
    Net::SMTPAuthenticationError
Error
    502 Command "AUTH PLAIN <tokenid>" not implemented 

これらは私の質問です:

  1. 私のresqueの概要には、完了していない1つのアクティブな(メール)ジョブを持つメーラーと呼ばれるキューがあります。その下には、現在働いている労働者がいないという情報があります。どうすればこれを処理できますか?

  2. gitlab がこれを管理できないことが判明した場合に、メールを送信するための post-receive フックを実装したいと考えています。そのためにpostfixを設定するにはどうすればよいですか?

4

1 に答える 1

0

GitLab のバージョンにもよりますが、最新のものは Resque ワーカー ( resque mailerを含む) ではうまく動作しないようです: issue 2472
を参照してください:

# bundle exec rake environment resque:work QUEUE=post_receive,mailer,system_hook RAILS_ENV=production PIDFILE=tmp/pids/resque_worker.pid
Starting worker git1-0:7710:post_receive,mailer,system_hook
Registered signals
Running before_first_fork hooks with [#<Worker git1-0:7710:post_receive,mailer,system_hook>]
#~

ケースで少なくとも 1 つのプロセス (メールの管理/送信) が実行されているかどうかを確認できます。

言及されている問題には、バージョンが古いため、redis を更新するという現在の解決策があります。

root として - 安定した debian で

/etc/init.d/redis-server stop
cd /tmp
wget http://redis.googlecode.com/files/redis-2.2.4.tar.gz
cd redis-2.2.4
make PREFIX=/usr
make install PREFIX=/usr
/etc/init.d/redis-server start

init.dスクリプトを編集し、PIDFILE=resque コマンドから削除します。
の開始コマンドの後に、次をresque追加します

ps auxww|grep QUEUE=post|head -n1|awk '{print $2}' > $RESQUE_PID

pidfile作成されます-これにより、「停止」エラーが修正されます

stop/start gitlab- 押して、あなたの罰金

于 2013-01-08T13:50:02.610 に答える