VagrantとChefでRailsの開発環境構築したのでメモ。
ここら辺の技術はホント流れが早いですよね。
2015年5月時点で、なるべく最新(っぽい)感じで構築しているつもりです。
環境
環境構築
以下のURLからインストールします。
Downloads – Oracle VM VirtualBox
以下のURLからインストールします。
Download Vagrant - Vagrant
Chefのインストール
昔のブログでも書きましたが、ChefのインストールはChefDKがオススメです。
MacでChef環境構築はChef Development Kitがオススメ - 継続的ブログ
以下のURLからインストールします。
Chef Development Kit | Chef Downloads | Chef
ChefDK
Chefを利用する際に必要な以下のツールがひとまとめになったものです。
- Chef
- Berkshelf
- Test Kitchen
- ChefSpec
- Foodcritic
rubyも入っているので、既存の環境に依存することなく、Chef環境を構築できます。
今回は使いませんが、ChefDKには含まれていないknife-soloを使う場合は、
$ chef gem install knife-solo
とすればインストールできます。
ChefDKのRubyを使うために、以下の設定をします。
$ echo 'eval "$(chef shell-init SHELL_NAME)"' >> ~/.YOUR_SHELL_PROFILE
自分はZshなので、以下のように設定しました。
$ echo 'eval "$(chef shell-init zsh)"' >> ~/.zshrc
- Guest Additionsを更新してくれるプラグイン
$ vagrant plugin install vagrant-vbguest
- Chef Zero Serverを起動するためのプラグイン
$ vagrant plugin install vagrant-chef-zero
- ゲストOSにChefをインストールするために必要なプラグイン
$ vagrant plugin install vagrant-omnibus
実践
Boxのインストール
以下のURLから好きなboxを選ぶ。
A list of base boxes for Vagrant - Vagrantbox.es
ここではcentos65という名前で、CentOS6.5のBoxを作成してます。
$ Vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box
Vagrantfileの作成
好きなディレクトリに移動し、以下のコマンドを入力。
$ vagrant init
作成されたVagrantfileを修正。
Vagrant.configure(2) do |config|
config.vm.box = "centos65"
config.vbguest.auto_update = false
config.omnibus.chef_version=:latest
config.chef_zero.chef_repo_path = "."
config.vm.provision :chef_client do |chef|
chef.custom_config_path = "chef_custom_config"
chef.run_list = []
end
end
カレントディレクトリに設定ファイルchef_custom_configを作成。
Chef::Config.ssl_verify_mode = :verify_peer
$ vagrant up
Chef Zero Serverも起動し、ゲストにChefのインストールが行われていると思います。
続き
Vagrant + ChefでRails開発環境構築② - 継続的ブログ
参考