以前のGitLabバージョンにロールバックする
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
LinuxパッケージまたはDockerを使用してインストールされたGitLabインスタンスを以前のバージョンにロールバックできます。
ロールバックする際は、以前アップグレードした際に発生したバージョン固有の変更を考慮する必要があります。
前提条件
インスタンスがアップグレードされた際に行われたデータベーススキーマの変更(移行)を元に戻す必要があるため、以下のものが必要です:
- ロールバックしようとしているものと全く同じバージョンおよびエディションで作成されたデータベースバックアップが少なくとも1つ必要です。
- ロールバックしようとしているものと全く同じバージョンおよびエディションの完全なバックアップアーカイブがあることが理想的です。
Linuxパッケージインスタンスのロールバック
Linuxパッケージインスタンスを以前のGitLabバージョンにロールバックするには:
GitLabを停止し、現在のパッケージを削除します:
# If running Puma sudo gitlab-ctl stop puma # Stop sidekiq sudo gitlab-ctl stop sidekiq # If on Ubuntu: remove the current package sudo dpkg -r gitlab-ee # If on Centos: remove the current package sudo yum remove gitlab-eeロールバックしたいGitLabバージョンを特定します:
# (Replace with gitlab-ce if you have GitLab FOSS installed) # Ubuntu sudo apt-cache madison gitlab-ee # CentOS: sudo yum --showduplicates list gitlab-eeGitLabを希望するバージョンにロールバックします(例えば、GitLab 15.0.5に):
# (Replace with gitlab-ce if you have GitLab FOSS installed) # Ubuntu sudo apt install gitlab-ee=15.0.5-ee.0 # CentOS: sudo yum install gitlab-ee-15.0.5-ee.0.el8GitLabを再設定します:
sudo gitlab-ctl reconfigureGitLabを復元することで、ロールバックを完了します。
Dockerインスタンスのロールバック
復元により、新しいすべてのGitLabデータベースコンテンツを古い状態に上書きします。ロールバックは、必要な場合にのみ推奨されます。たとえば、アップグレード後のTestで、すぐに解決できない問題が明らかになった場合などです。
ダウングレードしようとしているものと全く同じバージョンおよびエディションで作成されたデータベースバックアップが少なくとも1つ必要です。バックアップは、アップグレード中に行われたスキーマの変更(移行)を取り消しために必要です。
アップグレード後すぐにGitLabをロールバックするには:
インストールした以前のバージョンを指定して、アップグレード手順に従います。
アップグレード前に作成したデータベースバックアップを復元します。
- PumaとSidekiqの停止を含め、Dockerイメージの復元手順に従います。データベースのみを復元する必要があるため、
SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_stateをgitlab-backup restoreコマンドライン引数に追加します。
- PumaとSidekiqの停止を含め、Dockerイメージの復元手順に従います。データベースのみを復元する必要があるため、