GitLabを9.2.2から9.2.5にアップデートしたのですが、アップデート後にユーザやプロジェクトのアバターが表示されなくなってしまいました。

GitLab 9.2.5, 9.1.7, and 9.0.10 Released に記述されているのですが、画像(それ以外も?)を保存しているディレクトリが変更されています。ここのIssueに書かれている通り、projectという名前のグループを作成して、そのグループを別の名前に変更した場合にアバターの画像がなくなってしまう問題への対応のようです。

現時点の最新版の9.2.5で入っている対応なので9.2.4からこれ以降のバージョンに上げた場合に発生するんじゃないかな?と思います。

前述のリリースの記事に書いてある通り、バックアップを取ったうえでディレクトリを移動させてやる必要があります。記事にはダウンタイムなしでできると書いてますが、私は一旦GitLabを停止させてから行いました。

手順


1. バックアップ取る
2. GitLab停止する
3. /public/uploads/以下のディレクトリを/public/uploads/system/に移動させる
4. GitLab起動する
5. gitlab-rake cache:clearコマンドを実行する

で、無事表示されるようになりました。私はDockerでやってました。公式のDockerイメージの場合はgitlab-railsディレクトリ配下にuploadsディレクトリがあります。ので/gitlab-rails/uploads/内のディレクトリを全て/gitlab-rails/uploads/system/に移動させました。その後、コンテナに入ってコマンド実行すれば終わりです。

uploadsという名前的に、アバターの画像以外も入ってそうな気がするのですが、アバターの画像しか入ってませんでした…。sshの鍵とかアップロードしてたら鍵も入ってたりするのかもしれません。sshでやってないのでちょっとわかりませんが…。