以前の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-ee目的のバージョンにGitLabをロールバックします(たとえば、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イメージの復元手順に従います。データベースのみを復元する必要があるため、