include_recipe を使うべきか、それともレシピを run_list に追加すべきか? 質問する

include_recipe を使うべきか、それともレシピを run_list に追加すべきか? 質問する

大規模プロジェクトに最適なアプローチを見つけようとしています。include_recipeにレシピを追加するのではなく、を使用してレシピ内にレシピを追加するのが適切なのはいつrun_listですか? 良い経験則はありますか?

ベストアンサー1

私の考えでは、どのレシピも空のマシン上で単独で実行できるはずです。したがって、レシピ A がそれより前に実行されるレシピ B に依存している場合は、常に include_recipe を使用します。

たとえば、2 つのクックブック、Tomcat と Java。Tomcat には Java が必要です。

  1. ユーザーが Tomcat をインストールしようとするとき、実際にはインストールに別のクックブックが必要であることを知らない場合があります。Tomcat レシピを実行すると、「Java が見つかりません」などのまったく役に立たないエラー メッセージが表示されて失敗するか、さらに悪いことに、成功しても、Java がインストールされていないため、ユーザーは Tomcat を起動できません。

  2. しかし、include_recipe 'java'Tomcat クックブックにdepends 'java'メタデータの行も必要な行がある場合、ユーザーが Tomcat をインストールしようとすると、「クックブックの Java が見つかりません」というわかりやすいエラー メッセージが表示されます。このように、ユーザーは実際にレシピを実行せずにメタデータを読み取って、自分で (または何らかの自動ツールを使用して) 依存関係をダウンロードできます。

おすすめ記事