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発生しても気にならないけどね)
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
を事前に作成しておくこと。
$ 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で必要な情報を設定まで行うので見ていて気持ちがいいですわ。
上記のページに書いてあるとおりに実行すればok。
$ 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
$ 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 は自ドメインを設定すること。
$ 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 を設定するなら下記のサイトさんが最高にわかりやすい。
/etc/gitlab/gitlab.rb の設定
gitlab_email_from 部分は、FQDN が正しく設定されていればいいですが「細かいことは面倒」というのであれば強引に書き換えてしまうのも吉。ちなみに Omnibus版 を使用しているのであれば特に書き直す必要はあまりないと思われる(proxy使ってるとか色々あると思うけどね)。
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'] = "gitlab@example.jp"
再設定と起動
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 の資料がとてもわかりやすい。
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