http://connpass.com/event/3983/
-
Vagrantのインストール
- ダウンロード -> http://downloads.vagrantup.com
- 初め方 -> http://docs.vagrantup.com/v2/getting-started/index.html
- puppetによるprovisioning -> http://docs.vagrantup.com/v2/provisioning/puppet_apply.html
-
puppetによるJavaのインストール
- apt-get updateをしておかないとインストール出来ないため、manifestに追加。
- puppetlabs/java -> https://forge.puppetlabs.com/puppetlabs/java
- Vagrant と Puppet を用いた即時 Java プロビジョニング: Stash ワンクリックインストール
- git submodule 使い方
$ git submodule add https://github.com/puppetlabs/puppetlabs-java.git modules/java
- puppetlabs/javaはpuppetlabs/stdlibに依存しているため、modulesに追加。
- puppetlabs/stdlib -> http://forge.puppetlabs.com/puppetlabs/stdlib
$ git submodule add https://github.com/puppetlabs/puppetlabs-stdlib.git modules/stdlib
- http://docs.puppetlabs.com/guides/style_guide.html
- Must use two-space soft tabs
- Must not use literal tab characters
- Must not contain trailing white space
- Should not exceed an 80 character line width
- Should align fat comma arrows (=>) within blocks of attributes
-
puppetによるGVMのインストール
- Groovy on instantserver.io thanks to GVMを参考にする。
- unzip, curl, bashに依存しているため、manifestに追加。
- yerinle / vagrant-gvmを参考にする
- gvmをインストールした際、.gvm/etc/configが作られるのを冪等性の条件にする。
- gvmをインストールする前に、Javaがインストールされる様に*Class['java']*をrequireに追加する。
- gvmをインストールした後に、gvm selfupdateするように*Exec['selfupdate']*をbeforeに追加する。
- gvm selfupdateを実行する前に、source /home/vagrant/.gvm/bin/gvm-init.shが実行される様にする。
-
puppetによるVert.xのインストール
- gvmを利用してインストールする為、*Exec['selfupdate']*をrequireに追加する。
- .gvm/vertx/currentにインストールされるのを冪等性の条件にする。
- gvm install vertxの実行結果が常に'1'を返す模様の為、**returns => ['1']**を追加する。
-
確認
$ vagrant destroy
を実行して、一旦削除する。$ vagrant up
を実行して、冪等性が保たれているか確認する。$ vagrant provision
を実行して、同じ結果になるか確認する。
https://github.com/grimrose/vagrant-puppet-vertx-sample