#40 GitLabのバージョンが古すぎてバージョンアップできなくなった場合の対処法

icon はしまさ が 2019/01/05 12:25 に投稿 ( icon はしまさ が 2019/01/05 12:43 に編集 <更新履歴> )
  投稿を編集(サインイン)
  ストック
  アンケート回答

  目次

1. 何が起きたか?

とあるGitLabサーバーを運営していたが、しばらくバージョンアップをサボっていたため
「そんなに急激にバージョンアップできないよ〜!!!」と怒られてしまった(汗)

2. 前提条件

  • Ubuntu 16.04 LTSのaptを使用してパッケージを管理している
  • GitLabの公式Ubuntuパッケージを利用している
  • GitLabアップデート前のバージョンは、「GitLab Community Edition 9.0.4」(!??)

3. どうすればいいの?

バージョンアップ失敗時に表示されたエラー

ここをみてね〜と書いてある。
https://docs.gitlab.com/ee/policy/maintenance.html#upgrade-recommendations

要するに「徐々にバージョンアップ」させる

バージョンアップ前が「9.0.4」なので、以下の順でバージョンアップさせる。

9.0.4 → 9.5.10 → 10.8.7 → 最新バージョン

……めんどくさ(笑)

4. それではアップデートいきます!

基本的に、下記のコマンドを繰り返していきます。

インストール可能なバージョンの確認

sudo apt-cache showpkg gitlab-ce

バージョン指定してインストール

sudo apt-get install gitlab-ce=9.5.10-ce.0

参考URL: https://qiita.com/ryo_grid/items/afc2b076f8afacc339d1

5. トラップ発生

……が、「10.8.7」から最新バージョンをアップデートしようとすると、下記エラーを吐いて失敗します!

* nginx['listen_address'] has been deprecated since 8.10 and removed in 11.0. Use nginx['listen_addresses'] instead.

要するに、 nginx['listen_address'] ってパラメータは 11.0 から削除されたから、
代わりに nginx['listen_addresses'] を使ってね〜ってことですね!

ちなみにこのパラメータは、 /etc/gitlab/gitlab.rb に存在します。

そしたら、 address ってとこを addresses に変えればいいと思うじゃないですか〜?
ところがそれでも症状変わらず、全く同じエラーを吐いてくれるんです(笑)

……待てよ。複数形になって、しかも拡張子が「rb」(=Ruby)ってことは!??
というわけで、こうやって直します。

gitlab.rb 修正前

nginx['listen_address'] = 'localhost'

gitlab.rb 修正後

nginx['listen_addresses'] = ['localhost']

こんなこと、どこにも書いてねーじゃないか!!!
(こういう時に勘というものはどうしても必要かも???)

gitlab.rb を修正した後は、下記コマンドの投入も忘れずに!!

sudo gitlab-ctl reconfigure

6. まとめ

パッケージのアップデートは、さぼらずこまめにやりましょう!!!(汗)

 添付ファイル     - [0]


 コメント追加