OpsWorks 找不到我的 Chef 食谱

OpsWorks can't find my Chef cookbooks

我正在尝试为应用设置 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 目录(包含应用程序的目录)中查找食谱,而不是名为 proj_nameinfrastructure/chef-repo/cookbooks.

里面

有什么方法可以告诉 OpsWorks 进一步查找食谱吗?

谢谢!

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

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

如果您有一个 berksfile,您可以只使用一个顶级 berksfile,在其中放置您的食谱的路径。

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