概要
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
※初期ログイン時に即変更