2

我正在与vagrantchef-solo 合作,到目前为止效果非常好。我确实有一个用于 chef-solo 食谱的公共目录,因为我希望能够从他们的git 存储库中简单地克隆一个 opscode 食谱,然后能够提取更新。为了做到这一点,我希望尽可能保持食谱完整,以便快速转发任何更新。

opscode 的食谱很容易module.json = {}通过Vagrantfile. 但是,有些选项是不可配置的,例如设置AllowOverride None-Setting 或类似的能力。

因此,我希望能够覆盖后续目录中的文件,类似于覆盖 OOP 中的函数。示例:apache2 的说明书包含 apache2/templates/default/default-site.erb 中的默认站点模板,并带有上述 -OptionAllowOverride None集。在 ProjectA 中,我将有一个 default-site.erb 使用 ProjectA 的项目特定设置覆盖全局模板,而 ProjectB 没有这样的文件,因此将使用全局模板。

有没有人正在运行这样的设置或关于如何实现这个或类似的良好设置的想法?

4

1 回答 1

5

大厨 Solo 支持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 回答