GitLab CEをDockerを使って構築している場合のアップデート方法です。8.8.5から8.12.4にアップデートした際にいくつかエラーが出たので、それの対応も書いておきます。
アップデートの方法
コンテナ内でapt-getを叩くことで自動的にデータベースのバックアップをしてくれつつアップデートしてくれます。ただし、後述の通りエラーがでて動かなくなることもあるので、かならず自らバックアップとリストアのテストをしっかりした後に行ってください。
docker exec -it [コンテナ名] apt-get update
docker exec -it [コンテナ名] apt-get install gitlab-ce
何も問題なければ以下の操作でバージョンアップが反映されます。
docker exec -it [コンテナ名] gitlab-ctl restart
アップデート中のRubyのエラー
================================================================================
Error executing action `run` on resource 'ruby_block[directory resource: /data/GitLab/repositories]'
================================================================================
以下だらだらと続く
対応方法は以下の通りです。
docker exec -it [コンテナ名] chmod 2770 /var/opt/gitlab/git-data/repositories
この後に再度アップデートを行えば問題なく完了しました。
参考)
https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1601
アップデート後にプロジェクトのトップで500エラーが出る
対応方法は以下の通りです。
docker exec -it [コンテナ名] gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"