一応、自分で調べてブログに書きました。
が、こんなことをせずとも、もっと綺麗な方法があるはず(あって欲しい)と思うのですが、
何かご存知の方がいらっしゃったらぜひ教えてください。
Chefって、何かをインストールして設定するだけなら簡単ですが、
インストールした後、そのインストールしたもの(ここではrbenv)を使って
何かしようとする(ここではRubyのインストール)と途端に大変になる気がします。
こういうことって、本来、Chefですべきことではない感じなんでしょうか?
一応、自分で調べてブログに書きました。
が、こんなことをせずとも、もっと綺麗な方法があるはず(あって欲しい)と思うのですが、
何かご存知の方がいらっしゃったらぜひ教えてください。
Chefって、何かをインストールして設定するだけなら簡単ですが、
インストールした後、そのインストールしたもの(ここではrbenv)を使って
何かしようとする(ここではRubyのインストール)と途端に大変になる気がします。
こういうことって、本来、Chefですべきことではない感じなんでしょうか?
が、こんなことをせずとも、もっと綺麗な方法があるはず(あって欲しい)と思うのですが、
何かご存知の方がいらっしゃったらぜひ教えてください。
自分で Cookbook 作るならだいたいこんなところでは、という印象です。
私なら rbenv.sh
を作らずに、環境変数を渡すようにしますが、ほとんど好みのレベルですね。
サードパーティの Cookbook を使ってもよいのであれば、RiotGames/rbenv-cookbook を使うと楽です (下記は Berkshelf 使った例です)。
# Berksfile
site :opscode
cookbook "rbenv"
$ berks install
# site-cookbooks/foo/metadata.rb
depends 'rbenv'
# site-cookbooks/foo/recipes/default.rb
include_recipe "rbenv::default"
include_recipe "rbenv::ruby_build"
rbenv_ruby "2.1.0" # rbenv install 2.1.0
rbenv_gem "bundler" do # rbenv local 2.1.0 && gem install bundler
ruby_version "2.1.0"
end
この質問への回答やコメントをメールでお知らせします。