在哪里放这个Chef Recipe降级宝石(在EngineYard上)?

时间:2011-10-29 18:54:39

标签: gem chef engineyard

我在EngineYard的Appcloud上托管我的应用程序 - 必须说它是一个很棒的设置,除了你必须使用Chef来自动化你的配置。他们并没有花时间来讲述整个答案:)即使付费支持!希望与厨师一起加快速度只是时间问题。

如果你能提供帮助,这是一个问题:

EngineYard告诉我,以下主厨配方将自动降级到宝石级别需要我的应用程序(有一天我会升级到Rails 3.0 :))

execute "downgrade rubygems" do
  command "gem update --system 1.4.2"
  user "root"
end

我想知道我的主厨目录/文件结构中的这个代码段会去哪里?

这就是我的目录:

README.md
Rakefile
cookbooks/
  main/
    attributes/
    definitions/
    libraries/
    recipes/

感谢。

1 个答案:

答案 0 :(得分:1)

首先,我将结构(从main)复制到以下内容:cookbooks/my-rubygems

然后我创建cookbooks/my-rubygems/recipies/default.rb并粘贴他们告诉你的内容。

然后编辑cookbooks/main/recipies/default.rb并确保您的食谱运行:

require_recipe "my-rubygems::default"

就是这样。

确保您的更改已提交并推送。下次部署时,它应该运行您的配方。

简而言之,这就是您现在添加其他收件人的方式。将它们分组(无论有意义),然后将它们包含在main/recipies/default.rb中。

顺便说一下,厨师是安永设置中最好的部分。 ;-)他们也有a comprehensive knowledgebase来涵盖这些事情。就厨师而言,我推荐Opscode's wiki

HTH!