このたび GitLab をバージョン13.10.5から15.0.2にアップデートしたので手順をまとめた。
基本的なアップデートする方法は以下の方法の通りで行った。
・https://urashita.com/archives/34223
GitLabアップグレードパスに従う
GitLabでは一気に最新バージョンにアップグレードできません。
GitLabアップグレードパスの順番にアップグレードします。
・https://docs.gitlab.com/ee/update/index.html#upgrade-paths
8.11.Z -> 8.12.0 -> 8.17.7 -> 9.5.10 -> 10.8.7 -> 11.11.8 -> 12.0.12 -> 12.1.17 -> 12.10.14 -> 13.0.14 -> 13.1.11 -> 13.8.8 -> 13.12.15 -> 14.0.12 -> 14.3.6 -> 14.9.5 -> 14.10.Z -> 15.0.Z -> latest 15.Y.Z
具体的には現在のバージョンが13.10.5とすると
13.10.5 ⇒
13.12.15 ⇒
14.0.12 ⇒
14.3.6 ⇒
14.9.5 ⇒
14.10.4⇒
1.5.0.2
の順にアップデートします。
特定バージョンのGitLabのrpmをダウンロード
あらかじめ該当のアップグレードパスのGitLab rpmパッケージをすべてダウンロードしておきます。
1 2 3 4 5 6 7 8 9 10 11 |
# wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/8/gitlab-ee-13.12.15-ee.0.el8.x86_64.rpm # wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/8/gitlab-ee-14.0.12-ee.0.el8.x86_64.rpm # wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/8/gitlab-ee-14.3.6-ee.0.el8.x86_64.rpm # wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/8/gitlab-ee-14.9.5-ee.0.el8.x86_64.rpm # wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/8/gitlab-ee-14.10.4-ee.0.el8.x86_64.rpm # wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/8/gitlab-ee-15.0.2-ee.0.el8.x86_64.rpm |
GitLabをアップグレード
このあと、順番にgitlabをバージョンアップします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# yum install -y gitlab-ee-13.12.15-ee.0.el8.x86_64.rpm # gitlab-ctl reconfigure # gitlab-ctl restart # yum install -y gitlab-ee-14.0.12-ee.0.el8.x86_64.rpm # gitlab-ctl reconfigure # gitlab-ctl restart # yum install -y gitlab-ee-14.3.6-ee.0.el8.x86_64.rpm # gitlab-ctl reconfigure # gitlab-ctl restart # yum install -y gitlab-ee-14.9.5-ee.0.el8.x86_64.rpm # gitlab-ctl reconfigure # gitlab-ctl restart # yum install -y gitlab-ee-14.10.4-ee.0.el8.x86_64.rpm # gitlab-ctl reconfigure # gitlab-ctl restart # yum install -y gitlab-ee-15.0.2-ee.0.el8.x86_64.rpm # gitlab-ctl reconfigure # gitlab-ctl restart |
アップグレードでエラー、注意点
アップグレードが問題ない場合は、以下のように正常に完了します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
sudo gitlab-ctl restart redis gitlab Reconfigured! Restarting previously running GitLab services ok: run: gitaly: (pid 1642) 1471501s ok: run: gitlab-exporter: (pid 54538) 1s ok: run: gitlab-workhorse: (pid 54505) 2s ok: run: grafana: (pid 54541) 0s ok: run: logrotate: (pid 54568) 0s ok: run: nginx: (pid 2515235) 1s ok: run: node-exporter: (pid 2515237) 0s ok: run: postgres-exporter: (pid 2515250) 1s ok: run: postgresql: (pid 1882) 1471504s ok: run: prometheus: (pid 2515258) 0s ok: run: puma: (pid 54703) 1s ok: run: redis: (pid 1627) 1471505s ok: run: redis-exporter: (pid 54709) 0s ok: run: sidekiq: (pid 54724) 1s _______ __ __ __ / ____(_) /_/ / ____ _/ /_ / / __/ / __/ / / __ `/ __ \ / /_/ / / /_/ /___/ /_/ / /_/ / \____/_/\__/_____/\__,_/_.___/ Upgrade complete! If your GitLab server is misbehaving try running sudo gitlab-ctl restart before anything else. If you need to roll back to the previous version you can use the database backup made during the upgrade (scroll up for the filename). Runningscriptlet: gitlab-ce-13.10.5-ce.0.el8.x86_64 2/2 Verifying : gitlab-ce-13.12.15-ce.0.el8.x86_64 1/2 Verifying : gitlab-ce-13.10.5-ce.0.el8.x86_64 2/2 Upgraded: gitlab-ce-13.12.15-ce.0.el8.x86_64 Complete! |
今回、13.12.15から14.0.12にアップグレードする際にエラーが発生しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
There was an error running gitlab-ctl reconfigure: rails_migration[gitlab-rails] (gitlab::database_migrations line 51) had an error: Mixlib::ShellOut::ShellCommandFailed: bash[migrate gitlab-rails database] xxxxx STDOUT: rake aborted! StandardError: An error has occurred, all later migrations canceled: Expected batched background migration for the given configuration to be marked as 'finished', but it is 'active': {:job_class_name=>"CopyColumnUsingBackgroundMigrationJob", :table_name=>"events", :column_name=>"id", :job_arguments=>[["id"], ["id_convert_to_bigint"]]} Finalize it manualy by running sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,events,id,'[["id"]\, ["id_convert_to_bigint"]]'] For more information, check the documentation |
この場合、エラーメッセージに書いてある通り、マニュアルでコマンドラインから
1 |
# sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,events,id,'[["id"]\, ["id_convert_to_bigint"]]'] |
を実行する必要があります。
コメント