chef-soloで、solo.rbに絶対パスを書かない方法

Chef-Soloの記事で、よくsolo.rbに絶対パスを書いてる例をひじょ〜〜によく見かけます。
solo.rb
cookbook_path ["/home/hoge/chef-repo/cookbooks"]
しかしこのような書き方はポータビリティがありません。
ディレクトリ名が変わったり、別のサーバで動かそうとすると、この絶対パスをいちいち書き換えなくてはならないからです。

File.expand_path()を使おう

ほとんどの場合、chef-soloコマンドを実行したときのカレントディレクトリに"cookbooks"と"site-cookbooks"が置いてあると思います。
したがってこのように書けます。
solo.rb
base = File.expand_path('..', __FILE__)

cookbook_path [base + '/cookbooks', base + '/site-cookbooks']
カテゴリ:

人気記事