zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

gitlabを8.10.0にupdateしたらメールが飛ばなくなった。

【結論】
理由は不明だがキャッシュディレクトリの所有者がroot:rootになっており、メール送信ジョブを実行しているgitユーザに書き込み権がなかった。所有者をgit:gitにしてしまうことで解決を見た。
参照:https://gitlab.com/gitlab-org/gitlab-ce/issues/17072

chown -R git:git /opt/gitlab/embedded/service/gitlab-rails/tmp/cache/assets/sprockets

【結論に至るまでのログ調査】
cat /var/log/gitlab/gitlab-rails/production.log

Performed ActionMailer::DeliveryJob from Sidekiq(mailers)

→Sidekiqというのがメールを送っているもよう。

cat /var/log/gitlab/sidekiq/current

2016-07-26_11:07:05.38031 2016-07-26T11:07:05.380Z 16609 TID-2phxdk WARN: Errno::EACCES:
 Permission denied @ utime_internal - /opt/gitlab/embedded/service/gitlab-rails/tmp/cache/assets/sprockets/v3.0/B_/B_Ek-epoCB-(略).cache

→権限がない。

【問題が再現する環境について】
gitlab-ceを8.6.7あたりから yum update し続けてきた環境。初期のインストール自体は
https://about.gitlab.com/downloads/#centos6
に従ってそのまま。

※検証のためにまっさらの状態からインストールしたgitlab8.10.1はなぜかメール認証を省略する動作をしていた。これはこれで怪しいのだけど、忘れることにする。