OpsWorks - 包含在自定义菜谱中的内容

时间:2013-07-29 10:24:40

标签: ruby-on-rails chef aws-opsworks

我是厨师和AWS OpsWorks的新手。

我想创建一个自定义食谱,以便在生产中预编译资产,并使用随时随地设置cron作业。

我发现了一些关于预编译资产的东西,我也会想出cron部分,但我很困惑我的自定义厨师项目应该是什么样子。 它是一个完整的厨师独奏项目,将取代AWS OpsWorks的标准食谱,因此我将不得不从他们的github回购中复制东西? 或者我们和他们的食谱会合并吗?如果是这样,我必须包含哪些目录和文件作为最低限度,例如执行“bundle exec when --update-crontab'foo'”

建议仅为烹饪书创建第二个项目,还是可以将厨师文件放在我的rails结构的子目录中而不会混乱?

1 个答案:

答案 0 :(得分:3)

目前,OpsWorks不支持单一菜谱目录样式。它可以像这样构建存储库:

delayed_job
  recipes
    deploy.rb
    undeploy.rb
s3cmd
  attributes
    default.rb
  recipes
    setup.rb
    configure.rb
  templates
    default
      s3cfg.erb
whenever
  recipes
    deploy.rb
    undeploy.rb

然后在堆栈设置下,在自定义烹饪书下,可以添加例如随时::部署下部署。对于default.rb配方,一旦可以添加例如sphinx而不是sphinx :: default。

在更改并推送到存储库后,必须从部署页面运行update_custom_cookbooks命令。