OpsWorks无法找到我的厨师烹饪书

时间:2015-09-22 12:38:09

标签: amazon-web-services chef aws-opsworks

我正在尝试为应用设置OpsWorks堆栈。我目前在同一个仓库中拥有应用程序和基础架构,具有以下结构:

proj_name/
    infrastructure/
        chef-repo/
            cookbooks/
                proj_name/ # THE COOKBOOK
                    recipes/
                        deploy.rb
                        configure.rb
                    attributes/
                    metadata.rb
    proj_name/ # THE APP
        app/
        migrations/
        manage.py

我已确认OpsWorks已成功从Github提取回购并将其安装在/opt/aws/opsworks中。但是,当我尝试将proj_name::deploy配方添加到自定义图层的自定义配方部分时,我收到一条错误消息,指出无法找到proj_name::deploy。查看日志,我看到一行INFO: Storing updated cookbooks/proj_name/requirements.txt in the cache.这告诉我,OpsWorks正在寻找第一个proj_name目录(包含应用程序的目录)来查找食谱,而不是名为{{的食谱。 1}} proj_name内部。

有没有办法让OpsWorks进一步了解这本食谱?

谢谢!

1 个答案:

答案 0 :(得分:2)

http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-repo.html

如果仅使用食谱,答案是否定的。

如果你有一个berks文件,你可以只使用一个顶级的berks文件,你可以在其中放入你的食谱。

底线:你必须在回购的根目录中放置一些东西。