概要
自宅ServerでGitLabを動かしているが、久々に「sudo apt-get upgrade」で全体を更新したところGitLabのアップデートで指定バージョンを経由しないとダメだというメッセージが出たため、忘備録として手順を残した。
★GitLab-CEの13.10→14.1へのアップグレード手順
#前提
* Ubuntu18.04(Bionic)
* GitLab-CE(13.10)
#apt-get upgradeで表示されたエラー
要は、apt-get upgradeでGitLab14.1がリストに出てるけど、今は13.10なので「メジャーバージョンアップ」になるよ。と、、、
そして、14.1をインストールする前に14.0にアップグレードしてくれ。と、、、、
最後に、アップグレードする際には、段階があるので、それに従ってくれ。ということです。
Preparing to unpack .../gitlab-ce_14.1.2-ce.0_amd64.deb ...
gitlab preinstall: It seems you are upgrading from major version 13 to major version 14.
gitlab preinstall: It is required to upgrade to the latest 14.0.x version first before proceeding.
gitlab preinstall: Please follow the upgrade documentation at https://docs.gitlab.com/ee/update/index.html#upgrade-paths
dpkg: error processing archive /var/cache/apt/archives/gitlab-ce_14.1.2-ce.0_amd64.deb (--unpack):
new gitlab-ce package pre-installation script subprocess returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/gitlab-ce_14.1.2-ce.0_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
#GitLabの段階アップグレード
GitLabが示す情報は下記
https://docs.gitlab.com/ee/update/index.html#upgrade-paths
上記の情報によると、14.1にする前には「13.12」と「14.0」を順に入れていく必要がある。
#GitLabの旧パッケージ提供URL
GitLab-CEの旧パッケージは下記にて提供されている
https://packages.gitlab.com/gitlab/gitlab-ce
ここから、自分の使っている環境に適したものをクリックして情報を取得する。
Ubuntu18.04なので、「Ubuntu/bionic」のものを選ぶ
1つずつ見ていく。
まずは、リンクをクリックすると下記のようなページが見れる。
右側に「install」のコマンドが記載されているので、このようにバージョンを指定すると特定のバージョンをインストールすることが可能である。
#アップグレード
一応、キャッシュの悪影響が出ないように消しておく
$ sudo apt-get clean
まずは、13.12にアップグレード
$ sudo apt-get install gitlab-ce=13.12.9-ce.0
$ sudo gitlab-ctl reconfigure
$ sudo gitlab-rake gitlab:check
続いて、14.0へアップグレード
$ sudo apt-get install gitlab-ce=14.0.7-ce.0
$ sudo gitlab-ctl reconfigure
$ sudo gitlab-rake gitlab:check
最後に、通常のupgradeで14.1にアップグレードする
$ sudo apt-get clean
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo gitlab-ctl reconfigure
$ sudo gitlab-rake gitlab:check
#バージョン確認
簡単なのは、GitLabにログインして「ヘルプ」を見ること(右上のメニューから)
無事、GitLabも動いてるし、14.1に上がっているので閉幕。