0

我正在尝试在 opwswork 上安装自定义食谱。所以我将FFMPEG COOKBOOK克隆到我的存储库中并执行更新说明书,然后使用命令 ffmpeg::package 执行 ffmpeg 配方。但我总是收到如下错误

[2013 年 10 月 9 日星期三 10:49:29 +0000] 调试:通过 include_recipe 加载配方 ffmpeg::package [2013 年 10 月 9 日星期三 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:incall'/opt/aws/opsworks/releases/20130926122929_138/vendor/bundle/ruby/1.8/gems/ohai-6.16.0/lib/ohai/mash.rb:77:在“默认”中

4

3 回答 3

1

OpsWorks 似乎没有在您的存储库中找到您的说明书。

你的食谱库是什么样的?Opsworks 只查看一个存储库,例如,您的所有食谱都需要是该存储库的子文件夹。

cookbooks <-- repo root
 -nginx    <--cookbook
  --attributes
  --definitions
  --files
  --recipes
  --templates
 -ffmpeg   <--cookbook
  --attributes
  --libraries
  --recipes
  --templates

我发现在我的本地机器上安装 chef 并使用完整的 chef-repo 并在我的 cookbooks 文件夹中创建一个单独的 git repo 是最简单的。这样我就可以用刀下载我的食谱了。

knife cookbook site download ffmpeg
tar -xvzf .\ffmpeg-0.2.1.tar.gz -C .\cookbooks

然后我将我的食谱存储库推送到我的 git 服务器(我正在使用 github)并运行更新食谱命令。

这一切还取决于您在哪一步包含了您的 ffmpeg 配方,OpsWorks 文档会比我更好地解释它。 http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-executing.html

于 2013-10-24T16:46:05.437 回答
0

您需要将该食谱上传到您的存储库,以确保

knife cookbook upload --all

仔细检查您的食谱 (ffmeg) 是否已上传

knife cookbook list

尽管您下载了源代码或“站点安装”食谱,但您仍然需要上传它

于 2013-10-25T02:07:58.680 回答
0

查看Deploy部分以验证“update_custom_cookbooks”是否成功。

过去我遇到过食谱从未更新过的问题。

此问题的最佳解决方案是启动一个新实例以验证配方是否正确运行。新实例将使用新的说明书。

于 2013-11-25T17:57:04.867 回答