Git
GitLab

GitLabのインストール

More than 3 years have passed since last update.

GitLabのインストールについて、自分用にまとめていなかったなぁと思って仮想環境で環境ごと作ってみたら、あまりに簡単になっていたのでびっくりした。

以前は、gitlabhqのインストール手順に従ってインストールしていたが、現在はオープンソースの方はGitLab Community Editionとしてdebやrpmによってパッケージ化されていて、非常に簡単にインストールできるようになっていた。

環境

OS: Ubuntu x64 14.04 LTS
GitLab: Community Edition Ver 7.4.3

インストール手順

GitLabのダウンロードページからUbuntu 14.04を選択し、書かれている手順通りインストールするだけ。
ただし、

sudo gitlab-ctl reconfigure

とする前に、初期設定だけは済ませておく必要がある。ダウンロードページのOther Linksに、Troubleshooting and configuration options for Omnibus packagesのリンクがあるので、ここを参考に設定を済ませておく。

最低限の設定は以下の通り。

/etc/gitlab/gitlab.rb
external_url 'http://localhost'
unicorn['worker_timeout'] = 180

external_urlの設定はデフォルトだとPCのホスト名になっていて、このままだとエラーになってGitLabが起動できないので変更する。

もう1行のunicorn['worker_timeout']の方は、行追加して適当なタイムアウト時間を設定しておく。
最初、external_urlだけ設定して、

sudo gitlab-ctl reconfigure

と起動してみたところ、ちゃんと起動できたみたいだったので、ブラウザから http://localhost:8080にアクセスしてみたが、応答が遅すぎて全く使いものにならない感じだった。
どうにもタイムアウトっぽい動きをしていたのでログを調べてみたところ、
/var/log/gitlab/unicorn/unicorn_stderr.log
にworkerのtimeoutが出ているのが分かった。
そこで、上記のようにunicornのタイムアウト時間を長くしてみたところ、初回アクセスは少し時間がかかるものの、その後のレスポンスは即返ってくる感じになった。

まとめなど

細かい調整などの環境設定をしようとする場合、gitlab.rbにどう書けばいいかいちいち調べないといけない感じなのが残念。GitLabのインストール先にある各設定ファイルを直接変更するのも1つの手だが、gitlab-ctlコマンドを通じて設定できるようにしておくほうが、今後のメンテナンスには便利だと思われる。

あと、ちょっと気になった点としてGitLabの以前のバージョンではMySQLも選択できるようになっていたのに、今回はデフォルトでPostgreSQLで動作するようにセットアップされていたことがある。
気になったので少しぐぐってみたところ、
https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md
とあって、MySQL側の問題で推奨しないようになったようだった。