Omnibus GitLab13.0.0にUpdateしようと思ったらちょっとだけコケた
自動Update
バックアップなどは公式サイト通りにcrontabで深夜にやっております。
その後、Updateも自動化したかったのでスクリプトを作成しました。
omnibusのgitlab-eeを使用して運用しております。
うちは、シングルノードで動いているので、公式サイト通りにゼロダウンタイムの手順でやっております。
公式サイトにも書かれている通り、シングルノードの場合は100%ゼロダウンタイムになるわけではありません。
Update完了後は会社のSoftwareチャンネルでアナウンスしております。
適当に書いたスクリプトなのでVersionとかは表示せず、リンクで対応しております。
RHEL用のものになります。
GitLab13.0.0に自動Updateされなかった
途中でエラーが起きた場合もUpdateしたと通知が入っていましたが、実際にはUpdateされていませんでした。
(ハンドリングできてない)
GitLab13以降はPostgres11以上が必要なようです。
GitLab 13 specific changes | GitLab
環境をしらべて見るとどうやら10.12のままでした。
自動でUpdateされているものだと思っていましたが、version 11には手動でUpdateしないといけないようです。
Automatically during package upgrades (unless opted out) and when user manually runs gitlab-ctl pg-upgrade, omnibus-gitlab will still be attempting to upgrade the database only to 10.x, while 11.x will be available for users to manually upgrade to. To manually update PostgreSQL to version 11.x , the pg-upgrade command has to be passed with a version argument (-V or --target-version) Database settings | GitLab
GitLabのversionが12.8以降だと-V
オプションが使えるようなので、使えない方はまずまず12.8以降にUpdateする必要がありそうです。
-V
オプションが使えるようになったら下記のコマンドを叩きます。
$ sudo gitlab-ctl pg-upgrade -V 11
これでUpdateできるようになったはずです。
$ sudo gitlab-ctl stop $ sudo yum -y install gitlab-ee
これで起動すればOKなはずだと思っていたのですが、Postgresのversionを上げたので下記のコマンドを叩く必要があります。 これはOmnibus GitLabの再設定をするものです。
$ sudo gitlab-ctl reconfigure
再設定しないと起動は成功するのですが、issueが見れなかったりmerge requestで500番が帰ってくるので注意です。