にほんブログ村
しばらく本業が忙しかったことと、筆者の体調がよくなかったこともあり、久々の執筆になります。
当サイトの内部のネットワークには、個人的にソースコードなどを管理するGitLab用のサーバーを仮想マシンとして立てているのですが、yumでのバージョンアップに失敗することから、原因を調べてみました。
すると、「https://docs.gitlab.com/ee/update/#upgrade-paths」によると、メジャーバージョンのバージョンアップを行うためには、アップグレードパスの順番でアップデートする必要があるとのことです。
当サイトのGitLabは、バージョンアップ前は、11.0.8で、2021/9/23時点での最新版は14.3.0でしたが、ちょっと不安だったので、実績のありそうな14.1.2までアップデートしたときの手順を以下に示します。
・GitLabのyum updateによる自動アップデートの禁止
他のパッケージのアップデートと一緒にGitLabもアップデートされてしまうと、アップデートに失敗した時に困るので、まずはGitLabはyum updateの対象外とします。
# vi /etc/yum.conf
# 以下を追加します。
exclude=gitlab-ce
・11.0.8 → 11.11.8
この時のアップデートでは、GitLabの包含しているPostgreSQLをバージョンアップせよとのメッセージがアップデート時に表示されたので、アップデート完了後に「gitlab-clt pg-upgrade」を実施しました。そして念のため、「gitlab-clt reconfigure」「gitlab-clt restart」も行いました。
# yum install gitlab-ce-11.11.8-ce.0.el7.x86_64
# gitlab-ctl pg-upgrade
# gitlab-ctl reconfigure
# gitlab-ctl restart
・11.11.8 → 14.1.2
このバージョンアップでは、11.0.8 → 11.11.8の時のようなメッセージは特になかったので、そのまま続けてバージョンアップを行いました。念のため、1つのバージョンアップ後にGitLabのページにログインして動作確認を行いながらバージョンアップができていることを確認しました。
# yum install gitlab-ce-12.0.12-ce.0.el7.x86_64
# yum install gitlab-ce-12.1.17-ce.0.el7.x86_64
# yum install gitlab-ce-12.10.14-ce.0.el7.x86_64
# yum install gitlab-ce-13.0.14-ce.0.el7.x86_64
# yum install gitlab-ce-13.1.11-ce.0.el7.x86_64
# yum install gitlab-ce-13.8.8-ce.0.el7.x86_64
# yum install gitlab-ce-13.12.10-ce.0.el7.x86_64
# yum install gitlab-ce-14.0.7-ce.0.el7.x86_64
# yum install gitlab-ce-14.1.2-ce.0.el7.x86_64
GitLabのページでは、Supported upgrede pathがtarget version毎にいくつかの例が示されていますが、色々なパターンがあると思うので、以下のような考え方でバージョンアップのパスを考えました。
- 13.8.8までは、「Upgrade Path」に明確に示されているので、それに従いました。
- 13.8.8以降は、「Supported upgrade path」を見ながら、できそうなバージョンを選びました。
- 14.1.2以降は実績が示されていないので、アップデートしないこととしました。
なお、14.1.2から最新版の14.3.0へのアップデートをやってみたら、アップデートはエラーを出しながら完了するものの、その後はGitLabがエラーで動かなくなってしまいました。もう少し待てば「Upgrade Path」も更新されると思うので、バージョンはやや遅れ系でGitLabは使っていこうと思います。