正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

以前のGitLabバージョンにロールバックする

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

LinuxパッケージまたはDockerを使用してインストールされたGitLabインスタンスの以前のバージョンにロールバックできます。

ロールバックする際は、以前にアップグレードしたときに発生したバージョン固有の変更点を考慮する必要があります。

前提要件

インスタンスのアップグレード時に行われたデータベーススキーマの変更(移行)を元に戻す必要があるため、以下が必要です:

  • ロールバック先の正確なバージョンおよびエディションで作成されたデータベースバックアップが少なくとも1つ必要です。
  • 理想的には、ロールバック先の正確なバージョンおよびエディションの完全なバックアップアーカイブ

Linuxパッケージインスタンスをロールバックする

Linuxパッケージインスタンスを以前のGitLabバージョンにロールバックするには、次の手順に従います:

  1. 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
  2. ロールバック先の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
  3. 目的のバージョンに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.el8
  4. GitLabを再設定します:

    sudo gitlab-ctl reconfigure
  5. GitLabを復元するして、ロールバックを完了します。

Dockerインスタンスをロールバックする

復元により、新しいすべてのGitLabデータベースコンテンツを古い状態に上書きします。ロールバックは、必要な場合にのみ推奨されます。たとえば、アップグレード後のTestで、すぐに解決するできない問題が明らかになった場合などです。

ダウングレードするバージョンおよびエディションとまったく同じバージョンで作成されたデータベースのバックアップが少なくとも1つ必要です。バックアップは、アップグレード中に行われたスキーマの変更(移行)を取り消しために必要です。

アップグレード直後にGitLabをロールバックするには、次の手順に従います:

  1. インストールした以前のバージョンを指定して、アップグレード手順に従います。

  2. アップグレード前に作成したデータベースバックアップを復元します。

    • PumaとSidekiqの停止を含め、Dockerイメージの復元手順に従います。データベースのみを復元する必要があるため、SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_stategitlab-backup restoreコマンドライン引数に追加します。