読者です 読者をやめる 読者になる 読者になる

ARMERIA

通信とWeb技術とRubyとゲーム制作と

GitLabでEncode Errorが出て困ったらとりあえず最新バージョンにしよう

社内でGitLabを立てて活用しているのですが、日本語の扱い関係で引っかかったのでメモ。

環境

  • CentOS 6.6
  • GitLab 7.0.0(rpmで入れたもの)

エラーの内容

Tag名に日本語を含んだものを登録すると、ブラウザからアクセスしたときに「Encode Error」が発生し、ファイルブラウザやコミットログなどが見れなくなる。クライアント側から当該タグを消すことができないし、ブラウザからタグを消すボタンにも辿りつけなくなる。

利用者に周知して、日本語は使わない、という運用にしてしまうのが普通だとは思いますが、日本語含みタグは作成できてしまうのに削除できない、という状況はあまり健全ではないですよね。

結論

GitLabのバージョンを7.9.4に上げたら解決しました。(記事作成時点での最新)

GitLab開発プロジェクトでのIssueでも挙がっていて、7.9にてfixされた、と書いてありますね。

https://gitlab.com/gitlab-org/gitlab-ce/issues/696

アップデート

以下の公式ドキュメントにある通り。元々rpmで入れてたので、アップデートもラクチンでした。

https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/update.md

「Updating from GitLab 6.6 and higher to the latest version」に従って最新へ。バックアップは必ず取りましょう。

$ sudo gitlab-ctl stop
$ sudo gitlab-rake gitlab:backup:create
$ curl -O https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.9.4_omnibus.1-1.el6.x86_64.rpm
$ sudo rpm -Uvh gitlab-7.9.4_omnibus.1-1.el6.x86_64.rpm
$ sudo gitlab-ctl reconfigure
  # ここで色々WARNが出たけど、気にしなくていいのかな?
$ sudo gitlab-ctl restart

マシンのパワー不足か、再起動して1分くらいはブラウザで見ても502が返ってくるけど、そのうち見れるようになりました。

あとは「画面のレイアウト変わっちゃったけどごめんね☆(・ω<)」みたいなメールを利用者に投げて作業終了です。お疲れ様でした。

旧バージョンを入れたのが昨年の7月ごろで、半年以上のアップデートを溜めてたので、だいぶインターフェースは変わったように見えましたね。日本語タグもきちんと表示&削除できるようになって、めでたしめでたし。

おまけ:カスタマイズがreconfigureで戻っちゃった時は

GitLab導入時に色々設定をいじったのですが、本来gitlab-ctl reconfigureで自動生成されるべき設定ファイルを、直接書き換えちゃってることがありました。

今回アップデートに伴って再度reconfigureをかけたので、その設定がリセットされて少し戸惑いました。

本来は/etc/gitlab/gitlab.rbに設定を書いて、gitlab-ctl reconfigureがそこを読んで各種設定ファイルを作るのが正しいです。下記サイトに大変お世話になりました。

続・GitHubクローンのGitLabを5分でインストールした - アルパカDiary

よくあるのがApacheやらJenkinsやらとのポート競合を避けるためのポート番号変更だと思います。これがリセットされると、gitlab-ctl startではOKと出てもブラウザからアクセスできなかったり502を吐き続けたりするので、注意しましょう。