久しぶりにchef周りを触っています。
いつの間にか時代はchef-soloじゃなくてchef-zeroへと変わっていた・・・
knife-zeroを使う選択肢もあったのですが、なんとなく「chef-provisioning」で開発環境を作りたくなったので、chef-provisioning+vagrantで開発環境を作ることにしました。
基本的なchef-provisioningの使い方
「chef-provisioningでお手軽にChef-zero対応してみる」を見てもらえれば理解できるかと思います。
僕もすごく参考にしました。
vagrantにnfsの設定をする
今回はMac+vagrant+chef-provisioningという環境で作業しています。
windowsの方は今すぐapple storeでmacを購入してくださいw
で、肝心なnfsの設定ですが、超簡単です。
provision/vagrant_linux.rb
require 'chef/provisioning/vagrant_driver'
vagrant_box 'bento/centos-6.7' do
url 'https://atlas.hashicorp.com/bento/boxes/centos-6.7/versions/2.2.1/providers/virtualbox.box'
end
with_machine_options :vagrant_options => {
'vm.box' => 'bento/centos-6.7'
},
:vagrant_config => ['config.vm.synced_folder "../../", "/var/www/app", nfs: true', 'config.vm.network "private_network", ip: "192.168.33.100"'].join("\n")
こんか感じです。
provision/vagrant_linux.rbの中身を少し変えるだけで対応できます。
with_machine_optionsにvagrant_config
を用意してそこにnfsの設定を書けば終わりです。非常に超簡単です。
chef-provisioningが思ったより楽だし、vagrantでのchef-provisioningも簡単にできるので満足しました。
今度はdocker使ってchef-provisioningしてみようと思いますw