我正在尝试在opwswork上安装自定义食谱。所以我将FFMPEG COOKBOOK克隆到我的存储库并执行更新cookbook,然后使用命令ffmpeg :: package执行ffmpeg配方。但我总是得到如下错误
[Wed,09 Oct 2013 10:49:29 +0000] DEBUG:通过include_recipe加载Recipe ffmpeg :: package [Wed,09 Oct 2013 10:49:29 +0000]错误:执行自定义配方时遇到异常:ffmpeg :: package:Chef :: Exceptions :: CookbookNotFound - 找不到Cookbook ffmpeg - / opt / aws / opsworks / releases /20130926122929_138/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/cookbook/cookbook_collection.rb:38:in
initialize' /opt/aws/opsworks/releases/20130926122929_138/vendor/bundle/ruby/1.8/gems/ohai-6.16.0/lib/ohai/mash.rb:77:in
call' /opt/aws/opsworks/releases/20130926122929_138/vendor/bundle/ruby/1.8/gems/ohai-6.16.0/lib/ohai/mash.rb:77:in'default'
答案 0 :(得分:1)
看起来OpsWorks没有在您的存储库中找到您的食谱。
您的cookbook存储库是什么样的? 例如,Opsworks只查看一个repo,所有的cookbook都需要是该repo的子文件夹。
cookbooks <-- repo root
-nginx <--cookbook
--attributes
--definitions
--files
--recipes
--templates
-ffmpeg <--cookbook
--attributes
--libraries
--recipes
--templates
我觉得在我的本地机器上安装厨师并使用完整的厨师仓库并在我的cookbook文件夹中创建一个单独的git仓库是最容易的。这样我就可以用刀来下载我的食谱。
knife cookbook site download ffmpeg
tar -xvzf .\ffmpeg-0.2.1.tar.gz -C .\cookbooks
然后我将我的cookbook存储库推送到我的git服务器(我正在使用github)并运行Update Cookbooks命令。
这一切还取决于您将ffmpeg配方包含在哪个步骤中,OpsWorks文档将比我更好地解释它。 http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-executing.html
答案 1 :(得分:0)
您需要将该菜谱上传到您的存储库,以确保
knife cookbook upload --all
仔细检查您的coookbook(ffmeg)是否已上传
knife cookbook list
虽然你下载了源代码或你的“网站安装”coookbook你还需要上传它
答案 2 :(得分:0)
查看部署部分以验证“update_custom_cookbooks”是否成功。
过去我的烹饪书从未更新过。
此问题的最佳解决方案是启动新实例以验证配方是否正确运行。新实例将使用新的烹饪书。