GitLab6.6の導入

銀鷹です。

昨年春に研究室でGitLab5.2を導入したのですが、あれからずいぶん時間が経ちました。
いつの間にかメジャーバージョンまで上がっていたようなので、検証してみました。
加えて、今回はJenkins連携とJenkinsとDockerの連携も扱う予定なので、合計3つの記事になります。

環境

OS: Debian7
GitLab: 6.6.4
GitLab-Shell: 1.8.0

インストール

手作業でやりたい場合はinstallationで良いです。
僕はここの通りに手作業でやりました。
基本的な流れはGitLab5.2の頃と大きく変わっていません。
一部うまく行かなかったところがあったので、そこだけ補足します。

補足1

Install Gemsのセクションで以下のコマンドを実行せよとありますが、
パーミッションが無いよって言って怒られました。
ちなみに、今回はPostgresでインストールしたので、実行したのは上のほうです。

# For PostgreSQL (note, the option says "without ... mysql")
sudo -u git -H bundle install --deployment --without development test mysql aws

# Or if you use MySQL (note, the option says "without ... postgres")
sudo -u git -H bundle install --deployment --without development test postgres aws

仕方ないので、一時的にgitユーザでsudoを使えるようにして対処しました。

# sudo可能なユーザでgitユーザをsudoersに追加
sudo visudo
# git     ALL=(ALL:ALL) ALL PASSWD:ALLを追加
sudo su git
# bundle install実行
sudo bundle install --deployment --without development test mysql aws
# 終わったらgitユーザから普段のユーザに戻る
exit
# bundle installを終えたら、gitユーザをsudoersから外す
sudo visudo
# git     ALL=(ALL:ALL) ALL PASSWD:ALLを削除

補足2

こっちは、一応本家のインストール方法のAdvanced Setup Tipsにも乗っていますが、念のため補足。
GitLabはSSH経由でgitの通信を行います。その関係で、SSH Serverが標準の22番ポートで動いていない場合は、以下の設定をしておく必要があります。

# 以下の内容を /home/git/.ssh/config へ追加。
host localhost          # GitLabサーバのホスト名でlocalhostを置き換える
    user git            # 
    port 2222           # SSH Serverが待ち受けしているポート番号で置き換える
    hostname 127.0.0.1; # GitLabサーバのホスト名orIPアドレスで置き換える
# /home/git/gitlab/config/gitlab.ymlの197行目辺りを修正
# 下のような内容が書いてあるので、ssh_portの番号をSSH Serverの待ち受けポート番号で置き換える
# If you use non-standard ssh port you need to specify it
    ssh_port: 2222

以上でOKです。


相変わらず、若干導入は面倒ですが、悪くない感じのインターフェイスがついたGitの環境が無料で手に入るのはありがたい限りです。
次回は、GitLabとJenkinsの連携について書きます。