我正在尝试为应用设置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进一步了解这本食谱?
谢谢!
答案 0 :(得分:2)
http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-repo.html
如果仅使用食谱,答案是否定的。
如果你有一个berks文件,你可以只使用一个顶级的berks文件,你可以在其中放入你的食谱。
底线:你必须在回购的根目录中放置一些东西。