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_name
在 infrastructure/chef-repo/cookbooks
.
里面
有什么方法可以告诉 OpsWorks 进一步查找食谱吗?
谢谢!
http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-repo.html
如果只使用食谱,答案是否定的。
如果您有一个 berksfile,您可以只使用一个顶级 berksfile,在其中放置您的食谱的路径。
底线:你必须在 repo 的根目录中放置一些东西。
我正在尝试为应用设置 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_name
在 infrastructure/chef-repo/cookbooks
.
有什么方法可以告诉 OpsWorks 进一步查找食谱吗?
谢谢!
http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-repo.html
如果只使用食谱,答案是否定的。
如果您有一个 berksfile,您可以只使用一个顶级 berksfile,在其中放置您的食谱的路径。
底线:你必须在 repo 的根目录中放置一些东西。