弊社では、ソースコード管理に GitLab を使用しています。VM 上の Debian に Omnibus バージョンをパッケージからインストールする形です。今回、ホスト OS を Debian 8 (jessie) から Debian 10 (buster) にアップグレードしました。それに伴い、GitLab も v12.4.1 から v13.4.1 にアップデートしました。手順の中で注意点がありましたので書き残しておきます。
基本方針は、Debian, GitLab それぞれの公式ページに詳しいのでその通りに行います。
Update GitLab installed with the Omnibus GitLab package
Chapter 4. Upgrades from Debian 8 (jessie)
Chapter 4. Upgrades from Debian 9 (stretch)
GitLab のアップデート時、メジャーバージョンが上がる場合、途中ステップを踏まないといけません。
Ex. 11.5.x
-> 11.11.x
-> 12.0.x
-> 12.10.x
-> 13.0.x
Debian をアップグレードするために単純に apt-get upgrade
すると、GitLab の配布されている最新バージョンをインストールしようとしてしまいます。自分の場合これが原因で、内部データとインストールされている PostgreSQL のバージョンが食い違うという状況になり、最初からやり直すはめになってしまいました。Debian アップグレード前に GitLab をアップデートするか、Debian アップグレード完了後に GitLab をアップデートするようにしましょう。今回後者の方法をとりました。
Debian アップグレード時に GitLab をアップデートさせないようにするために、apt-mark
コマンドを使います。
apt-mark hold gitlab-ce
解除するためには以下のようにします。
apt-mark unhold gitlab-ce
全体としては以下のような流れになります。
apt-mark hold gitlab-ce
apt-get upgrade
apt full-upgrade
apt-mark unhold gitlab-ce
apt install gitlab-ce=12.10.14-ce.0
apt install gitlab-ce=13.0.14-ce.0
apt install gitlab-ce