このエントリーをはてなブックマークに追加 にほんブログ村 IT技術ブログ システムエンジニアへ
にほんブログ村

しばらく本業が忙しかったことと、筆者の体調がよくなかったこともあり、久々の執筆になります。

当サイトの内部のネットワークには、個人的にソースコードなどを管理する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は使っていこうと思います。