ベース box やネットワーク、共有ディレクトリなどの設定を記述します。
config.vm.box = ‘sl65-x64-chefs_meeting01’ |
VirtualBox の VM の CPU コア数やメモリサイズなどの設定を記述します。
config.vm.provider :virtualbox do |vbox| vbox.customize [‘modifyvm’, :id, ‘--memory’, '2048'] vbox.customize [‘modifyvm’, :id, ‘--cpus’, '2'] end |
設定項目などは VirtualBox のドキュメント [ https://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvm ] を参照するとわかると思います。
Chef で実行する Recipe や Attribute などの設定を記述します。
config.vm.provision :chef_solo do |chef| # cookbook のあるディレクトリの相対パスを指定 chef.cookbooks_path = [‘cookbooks’, ‘site-cookbooks’] # 実行する Recipe を指定 chef.run_list = [ ‘java’, ‘eclipse’ ] # Attribute を指定 chef.json = { java: {}, eclipse: {} } |
Vagrant + Chef のディレクトリ構成
|
作成した jenkins Cookbook をsite-cookbooks ディレクトリに配置します。
|- cookbooks/ `- site-cookbooks/ `- jenkins/ |
jenkisn Cookbook の default Recipe を実行するように、Provisioner の設定を編集します。
Attribute も指定してみてください。
vagrant のコマンドで、プロビジョニングを行います。
$ vagrant provision |
うまくいけば、起動中の VM 上で Jenkisn サービスが起動します。
http://localhost:8080/ で Jenkins にアクセスしてみてください。