GitBucket にほしい機能があったのですが、 GitLab にはあるかなと思ったので久しぶりにインストールしてみることにしました。欲しい機能というのは、リポジトリの横断的な探索機能とか一覧機能とかです。メンバーで寄って集ってコードを置くような場所だと一覧や検索は欲しい機能です。
CentOS7ではあまりにシステム周りが変わっているようなので、手慣れている CentOS 6.5 でまずは試してみることにしました。
ちなみにインストールタイプは Minimal として設定しています。
定番の SELinux無効化 も行っておきます。
Gitの更新
CentOS 6.5 の yum で Git インストールすると今となっては古いバージョンなので比較的新しいバージョンを入れることにします。
# yum install curl-devel expat-devel openssl-devel zlib-devel
新しい git のために、古い git でソースリポジトリを clone して make します
# cd /usr/local/src # git clone git://github.com/git/git.git
こんな感じでやろうとしたら git がまだ入っていなかったようなので、以下のようにしてもうまとめて実行(Minimalインストールだからだと思います)
# yum update # yum groupinstall 'Development Tools'
これをやってから再び git の clone を実行してソース類を取得します。
# cd git # make configure GIT_VERSION = 2.5.0.rc3.2.g6f9504c GEN configure # which git # ./configure --prefix=/usr/local --with-curl --with-expat # make all
なにやら途中でエラーが出たので、別のパッケージを追加
# yum install perl-ExtUtils-MakeMaker
改めて make all を実行します。
# make all # make install
インストールが終わったので古い方を削除
# yum remove git # which git /usr/local/bin/git # git --version (なんかエラー。ログインし直してここからリトライ) # git --version git version 2.5.0.rc3.2.g6f9504c
GitLab本体のインストール
昔は1つ1つ手作業でインストールおよび設定していて、大変な思いをした記憶がありますが、最近はパッケージ化されて随分とインストールしやすくなりました。公式のページにもその手順は書いてあるので、スムーズに入れることが出来ると思います。
以下の手順は公式ページのものほぼそのままだったりしますが、問題なくインストールすることが出来ました。
# cd # service postfix start # chkconfig postfix on # lokkit -s http -s ssh # curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash # yum install gitlab-ce ========================================================================================== パッケージ アーキテクチャ バージョン リポジトリー 容量 ========================================================================================== インストールしています: gitlab-ce x86_64 7.13.1-ce.0.el6 gitlab_gitlab-ce 318 M
こんな感じとなります。回線がやや遅いようで、320M程度といってもそこそこの時間がかかります。
日本語化
日本語化パッチを作っている方がいらっしゃるのでそれも利用させてもらうことにしました。英語のまま使う場合にはこの手順は不要です。
現時点においては 7.9.4 までのバージョンに対応しているようなので、その範囲で日本語化を行えるような印象です。英語が直接コーディングされているようなので、バージョンが変更になるとうまく日本語化できない箇所も多くあるようです。
# cd /usr/local/src # git clone https://github.com/ksoichiro/gitlab-i18n-patch.git # cp gitlab-i18n-patch/v7.9.4/app_ja.patch ~ # cd /opt/gitlab/embedded/service/gitlab-rails # patch -p1 < ~/app_ja.patch
うまくパッチを当てられる部分だけあてるので、このあと Y や Enter 連打だったりします。
Gitlab起動
それでは以下のコマンドを実行して起動してみます。最初はそこそこ時間がかかります。
# gitlab-ctl reconfigure FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
なんかエラーが出てしまったのですがもう1回実行してみます。
# gitlab-ctl reconfigure Running handlers complete Chef Client finished, 56/175 resources updated in 21.038562812 seconds gitlab Reconfigured!
サーバーの IP アドレスをいれて最初の画面が出るか確認します。問題なければ以下のような画面が出ると思います。ここでデフォルト管理者のID/パスワードでログインします(この情報は公式ページを参照)
まとめ。次回へ続く
長くなってきたので1回ここらで区切りとします。昔は大変だった GitLab のインストールも随分とやりやすくなりました。さすがにコンテナ1つ配備して終了できる GitBucket 並ではありませんが、手こずる部分はなくなったと言えると思います。
次回は GitLab の操作や設定そのものをチェックしてみたいと思います。