OpsWorks 找不到我的 Chef 食谱

Posted

技术标签:

【中文标题】OpsWorks 找不到我的 Chef 食谱【英文标题】:OpsWorks can't find my Chef cookbooks 【发布时间】:2015-12-19 10:39:42 【问题描述】:

我正在尝试为应用设置 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 提取 repo 并将其安装在 /opt/aws/opsworks 中。但是,当我尝试将proj_name::deploy 配方添加到自定义层的自定义配方部分时,我收到一条错误消息,提示找不到proj_name::deploy。查看日志,我看到一行写着 INFO: Storing updated cookbooks/proj_name/requirements.txt in the cache. 这告诉我 OpsWorks 正在第一个 proj_name 目录(包含应用程序的目录)中查找配方,而不是 @ 内部名为 proj_name 的食谱987654328@.

有没有办法告诉 OpsWorks 进一步寻找说明书?

谢谢!

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于OpsWorks 找不到我的 Chef 食谱的主要内容,如果未能解决你的问题,请参考以下文章

没有这样的说明书 - OpsWorks 找不到自定义说明书

OpsWorks / Chef PHP 部署流程

Opsworks Chef 12.0 用一个公用文件管理两本食谱

Chef/OpsWorks:实例在新发布的 Windows 食谱版本上失败

即使食谱可用并且设置了依赖项,Chef 中也没有此类食谱异常 - AWS OpsWorks

无法在 AWS Opsworks 上使用 Chef 12 查找 Chef 社区食谱