0

opwswork にカスタム クックブックをインストールしようとしています。そこで、 FFMPEG COOKBOOKを自分のリポジトリに複製し、クックブックの更新を実行してから、コマンド ffmpeg::package で ffmpeg レシピを実行しました。しかし、私は常に以下のようにエラーが発生しています

[Wed, 09 Oct 2013 10:49:29 +0000] DEBUG: Loading Recipe ffmpeg::package via include_recipe [Wed, 09 Oct 2013 10:49:29 +0000] ERROR: カスタム レシピの実行中に例外をキャッチ: ffmpeg: :package: Chef::Exceptions::CookbookNotFound - クックブック 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 は 1 つのリポジトリのみを参照し、すべてのクックブックはそのリポジトリのサブフォルダーである必要があります。

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

ローカル マシンに Chef をインストールし、完全な Chef-repo を使用して、cookbooks フォルダーに別の git repo を作成するのが最も簡単だと思います。このようにして、knife を使用してクックブックをダウンロードできます。

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

[ Deploy ] セクションを見て、「update_custom_cookbooks」が成功したことを確認します。

クックブックが更新されないという問題が過去にありました。

この問題の最善の解決策は、新しいインスタンスを開始して、レシピが正しく実行されていることを確認することです。新しいインスタンスは新しいクックブックを使用します。

于 2013-11-25T17:57:04.867 に答える