Vagrant + CentOS6.6 + GitLab Omnibus 7.8.4(アップグレード方法もあるよ)


20分でセットアップできる簡単手順

ほんまいい時代だわや。今回は、20分でできるわやー。(10分ではできませんでした)

Gitlabって

GitHubを使用したいがセキュリティの関係とか大人の諸事情(¥)で使えなかったりする場合、GitHubクローンっていうのがあります。その中でも一押しなのが「GitLab」。Omnibus版 を使えばセットアップも簡単だしVagrantだったら…そのまま初期運用でも問題なし。

前提条件

Vagrant の環境を構築済みは必須であること。vm は、CentOS6.6 で構築。あと基本的なとこは下記を読むよろし。

https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#configuration

Vagantfile

Gitlab 用にvmを用意します。private なネットワークを使ってるのでそこらへんは適宜修正すること。
メモリーは、384MBだときついので、余裕があれば最低1024MBをとることをお勧めします(SSD環境ならswap発生しても気にならないけどね)

Vagantfile
config.vm.define :gitlab do |gitlab|
  gitlab.vm.hostname = "gitlab"
  gitlab.vm.network :private_network, ip: "192.168.11.108" 
  gitlab.vm.provider "virtualbox" do |v| 
    v.customize ["modifyvm", :id, "--memory", 1024] 
    v.name = "gitlab" 
  end

  gitlab.vm.provision "shell", inline: <<-EOT
    echo "ZONE=\"Asia/Tokyo\"" > /etc/sysconfig/clock
    echo "UTC=\"false\"" >> /etc/sysconfig/clock
    cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
  EOT
end

Gitlab 設定の前に

gitlab-ctl reconfigure 実行時に必要なファイル /etc/gitlab/gitlab.rb を事前に作成しておくこと。

command
$ sudo mkdir -p /etc/gitlab
$ sudo touch /etc/gitlab/gitlab.rb
$ sudo chmod 600 /etc/gitlab/gitlab.rb

RPM のダウンロードと設定

最新版の Omnibus を使う設定(2015/3/19)。下記のコマンドで全部入ります。特に Geilab は、chefで必要な情報を設定まで行うので見ていて気持ちがいいですわ。

GitLab CE Downloads

上記のページに書いてあるとおりに実行すればok。

command
$ sudo yum install openssh-serve
$ sudo yum install postfix
$ sudo yum install cronie
$ sudo service postfix start
$ sudo chkconfig postfix on
$ sudo lokkit -s http -s ssh
command
$ curl -O https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.8.4_omnibus-1.el6.x86_64.rpm
$ sudo rpm -i gitlab-7.8.4_omnibus-1.el6.x86_64.rpm
$ sudo gitlab-ctl reconfigure

MTA の設定

作成した vm は新規ユーザ作成時などメール通知することだけとし、メールを受け取ることはないことを前提のポリシーとします。そんなわけで最低限の設定(SMTP)だけ設定を行います(長期的な運用だったら色々と考慮しないとだめよ)。example.jp は自ドメインを設定すること。

command
$ grep -v -e "^[ \t]*#" -e "^$" /etc/postfix/main.cf
myhostname = mx.example.jp
mydomain = example.jp
myorigin = $mydomain
$ sudo /etc/init.d/postfix restart

自分の携帯とかアカウントに mail コマンドを使用しテスト送信してみる。あと気合い入れて postfix を設定するなら下記のサイトさんが最高にわかりやすい。

http://kajuhome.com/postfix.shtml

/etc/gitlab/gitlab.rb の設定

gitlab_email_from 部分は、FQDN が正しく設定されていればいいですが「細かいことは面倒」というのであれば強引に書き換えてしまうのも吉。ちなみに Omnibus版 を使用しているのであれば特に書き直す必要はあまりないと思われる(proxy使ってるとか色々あると思うけどね)。

https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-cookbooks/gitlab/attributes/default.rb

/etc/gitlab/gitlab.rb
external_url "http://192.168.11.108"
unicorn["worker_processes"] = 1
postgresql["shared_buffers"] = "128MB"
postgresql["effective_cache_size"] = "32MB"
gitlab_rails['gitlab_email_from'] = "[email protected]"

再設定と起動

gitlab-ctl restart 実行しても unicorn の起動が遅いので、1,2分経過してから、http://192.168.11.108 にアクセスすること。「意外と遅い」それは認識しておくw

% sudo gitlab-ctl reconfigure
% sudo gitlab-ctl restart

初期ユーザでログイン

GitLab の初期アクセスを行いユーザを作成する。ユーザの作成終了後に、ユーザ作成時に設定したメールアドレスにメールが通知されていればok。

Username: root 
Password: 5iveL!fe

Gitlab の使用方法

BIGLOBE クラウドホスティング 無料 で公開している Gitlab の資料がとてもわかりやすい。

BIGLOBE クラウドホスティング 開発お役立ちパック GitLab 利用マニュアル

Omnibus版のアップグレード方法

rpm でパッケージをインストールし設定ファイルを再定義するだけ。

$ curl -O https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.8.4_omnibus-1.el6.x86_64.rpm
$ sudo rpm -Uvh gitlab-7.8.4_omnibus-1.el6.x86_64.rpm
$ sudo gitlab-ctl reconfigure
$ sudo gitlab-ctl restart

その他

GitLab CE Omnibus のインストール - ダメ出し Blog