2

私はvagrantchef-soloと一緒に仕事をしていますが、これは今のところ非常にうまく機能しています。gitリポジトリからopscodeクックブックのクローンを作成し、後で更新をプルできるようにしたいので、chef-soloクックブックの共通ディレクトリがあります。そのために、クックブックを可能な限りそのままにして、更新を早送りしたいと思います。

opscodeのクックブックは、のmodule.json = {}オプションを使用して簡単に構成できますVagrantfile。ただし、一部のオプションは構成できません。たとえば、AllowOverride None-Settingなどを設定する機能などです。

したがって、OOPの関数をオーバーライドするのと同じように、後続のディレクトリのファイルを上書きできるようにしたいと思います。例:apache2のクックブックには、前述の-Optionが設定されたapache2 / templates / default/default-site.erbにデフォルトのサイトテンプレートが含まれていますAllowOverride None。ProjectAでは、default-site.erbがProjectAのプロジェクト固有の設定でグローバルテンプレートをオーバーライドしますが、ProjectBにはそのようなファイルがないため、グローバルテンプレートを使用します。

誰かがそのようなセットアップを実行している、またはこれまたは同様の良いセットアップを達成する方法についてのアイデアを持っていますか?

4

1 に答える 1

5

ChefSoloはをサポートしていますsite-cookbooks。Vagrantで動作させるには、手動で設定する必要があります。これが私のクックブックパスを定義する方法ですVagrantfile

chef.cookbooks_path = ["kitchen/cookbooks", "kitchen/site-cookbooks"]

したがって、のすべてsite-cookbooksがのそれらをオーバーライドしますcookbooks。たとえば、kitchen/site-cookbooks/apache2/templates/default/default-site.erbの代わりにが使用されますkitchen/cookbooks/apache2/templates/default/default-site.erb

于 2012-10-06T11:10:47.617 に答える