はじめに
社内で利用しているCentOS7にyumでインストールしたGitLabのアップグレード作業を実施した。(13.12.12⇒14.1.8⇒14.5.2)
14.1.8⇒14.5.2にアップグレードした正しい手順を踏んでいないため、500エラーでGitLabが正常に起動しなくなった。
どうやらこちらの事象に陥ったよう。
復旧させるために一度ダウングレードしないといけないので、13.12.12に戻す手順についてこちらに記載する。
実行環境
項目 | 値 |
---|---|
OS | CentOS7 |
インストール方式 | Omnibus |
GitLab種別 | GitLab CE |
バージョン | 13.8.0 |
前提
- 作業前に以下それぞれのバックアップファイルを取得していること
- baseデータ
- 設定ファイル
- バックアップファイルは別サーバ等に保管されていること
GitLabをアンインストールする
まず、インストール済のGitlabをアンインストールする
コマンド確認
# gitlab-ctl -h
アンインストール
# gitlab-ctl uninstall
データも削除
# gitlab-ctl cleanse
既に全部バックアップ済みなので生成されたファイルを削除
# rm -rf gitlab-cleanse-*
# rm -rf /opt/gitlab/
yumからも削除
# yum remove gitlab-ce -y
GitLabを再インストール
yumでインストール
# yum install gitlab-ce-13.12.12-ce.0.el7.x86_64
gitlabのインストールを確認
# gitlab-rake gitlab:env:info
構成ファイルをリストア
設定関連のバックアップファイルをカレントディレクトリに配置し、以下コマンド実行
既存のディレクトリ名を修正(バックアップをとっておく)
# mv /etc/gitlab /etc/gitlab.yyyymmdd
構成ファイルを解凍し、gitlabディレクトリが存在することを確認
# tar zxvf ~/xxxxxxxx_yyyy_mm_dd_13.12.12_conf.tar
構成ファイルを/etc/gitlabに配置
# mv ~./gitlab /etc/gitlab/
設定を反映
# gitlab-ctl reconfigure
# gitlab-ctl restart
GitLabのベースバックアップをリストア
バックアップファイルを以下に配置
# cp ~./xxxxxxxx_yyyy_mm_dd_13.12.12.tar /var/opt/gitlab/backups
設置したバックアップファイルのオーナーを変更
# chown git.git /var/opt/gitlab/backups/xxxxxxxx_yyyy_mm_dd_13.12.12.tar
オーナーの確認
# ls -la /var/opt/gitlab/backups/
不要なプロセスを停止
# gitlab-ctl stop puma
# gitlab-ctl stop sidekiq
プロセス停止の確認
# gitlab-ctl status
リストア
# gitlab-backup restore BACKUP=xxxxxxxx_yyyy_mm_dd_13.12.12
設定を反映
# gitlab-ctl reconfigure
# gitlab-ctl restart