Vagrantfile の書き方
Vagrant の基本的な設定
ベース box やネットワーク、共有ディレクトリなどの設定を記述します。
コード ブロック |
---|
config.vm.box = ‘sl65-x64-chefs_meeting01’ |
Provider の設定
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 ] を参照するとわかると思います。
Provisioner の設定
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 を Vagrant で
Cookbook を配置
作成した jenkins Cookbook をsite-cookbooks ディレクトリに配置します。
コード ブロック |
---|
|- cookbooks/
`- site-cookbooks/
`- jenkins/ |
Vagrantfile を編集
jenkisn Cookbook の default Recipe を実行するように、Provisioner の設定を編集します。
Attribute も指定してみてください。
プロビジョニングを実施
vagrant のコマンドで、プロビジョニングを行います。
コード ブロック |
---|
$ vagrant provision |
うまくいけば、起動中の VM 上で Jenkisn サービスが起動します。
http://localhost:8080/ で Jenkins にアクセスしてみてください。