Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

GitLab | GitLabが提供しているChefでインストールを行う

概要

GitLabが提供しているChefでインストールを行う

詳細

GitLabが提供しているChefでインストールを行う。

前提

Chefの実行環境が整っていること

自分は作業時にVagrantを利用したので下記も前提に入っています。ただしChefだけ使いたいなら必須ではありません。
VirtualBoxがインストールされていること
・Vagrant1.3系がインストールされていること
・berkshelfがインストールされていること

おまけとして、自分はいつもvagrant関連のコマンドを実行するときは待ち時間が長いので
自作gemのdenreiコマンドを実行してます。
ただダイアログを表示するだけのgemですが、待ち時間の間他のことをしてても
実行の完了を知ることができるので重宝してます。
別に代替ツールがあるならなんでもいいと思います。
beep鳴らすだけでもいいですし。

denrei gemについては下記参照。
ダイアログが表示されるまでの間別のことをしてます。

https://github.com/tbpgr/denrei
http://rubygems.org/gems/denrei

手順

$ knife solo init gitlab_chef
$ cd gitlab_chef
$ vagrant init

# Berksfileを編集
# Vagrantfileを編集

# GitLabが提供しているCookbookを取得
$ berks install --path cookbooks

$ vagrant up --provision
# denreiを使うなら下記を実行
# vagrant up --provision;denrei

# http://192.168.33.24/にアクセスして動作確認

Berksfile

site :opscode

cookbook 'gitlab', git: 'https://gitlab.com/gitlab-org/cookbook-gitlab.git'

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.provider :virtualbox do |vb|
    vb.name = "gitlab_chef"
    vb.customize ["modifyvm", :id, "--memory", 512]
  end

  config.vm.box = "ubuntu-12.04-x64" # Ubuntu1204のBOXです
  config.omnibus.chef_version = "11.6.0"
  config.vm.network :private_network, ip: "192.168.33.24"
  
  config.vm.provision :chef_solo do |chef|
    chef.cookbooks_path = ["./cookbooks", "./site-cookbooks"]
    chef.add_recipe "gitlab::default"
  end
end

総括

上記で、標準構成のGitLabインストール完了。
公式サイトに載っている手動インストール手順は非常に長いですが、
Chefならたったこれだけで終わり。

※本当はVagrantfileも含んだ全部入りの手順もあるのですが、
自分の環境では動作しなかったので、Vagrantfileは自作しました。

補足

初期アカウント:admin@local.host
初期パスワード:5iveL!fe
※初期ログイン時に即変更