LoginSignup
2
2

More than 5 years have passed since last update.

ChefNodeJSONでVagrantVMを作成する

Last updated at Posted at 2013-05-06

Vagrantfile内にjsonをいちいち書くのはだるいので、vagrantコマンドでnodeを指定できるようにした

Vagrantfileのconfig.vm.provisionブロックを編集する

unless ENV["NODE"].nil?
  chef.json = JSON.parse(open(File.join(File.expand_path(File.dirname(__FILE__)), 'nodes', "#{ENV["NODE"]}.json")).read)
end

これでvagrant指定時にnodejson名を指定すれば、指定したnodeでvmが起動する

NODE=exmaple.com vagrant up

環境変数で指定するのはイケてないんだけど、Vagrantfileの中で第2引数を取得する方法がわからなかった。。。
ホントはこうやりたい

# こうすればVagrantfileの中でvmの設定も切り替えられるので便利
vagrant up example.com

もーちょいvagrantのソース読まないとわからないので断念。
パッと見た感じではVagrantfileにオプション値は渡していないみたいなので、無理な気がしてる

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2