明らかに、Chef の最も優れた点の 1 つは、クックブック、特にラッパー クックブック アプローチを介して、実績のあるコンポーネントを再利用できることです。
しかし、ラッピングする料理本をどのように選択すればよいのでしょうか? 私の時間を大量に無駄にした例をいくつか挙げます。
ハードコードされた古いフラグ (非推奨のフラグだけでなく) を持つ構成 erb を持つクックブック。サービスは構成ファイルを拒否します。注: 私の理解する限り、修正されたテンプレート erb をラップすることは、全体を複製して維持しない限り簡単ではありません。
Ubuntu バージョン 9.0.4 までをチェックするクックブックですが、それ以上のバージョンでは何も実行せず、廃止された /etc/event.d/ ディレクトリを参照しているようです。
クックブックは、runit や bluepill などのプロセス監視ツールと密接に結びついています。 好みのツールがリストになく、それに合わせて調整できない場合は、これも頭痛の種になります。
これまでは、supermarket.chef.io のクックブックを使用する傾向があり、それらはほとんど機能していました。ただし、私が必要とするサービス用のクックブックはメンテナンスされていないようで、採用待ちの状態です。
いくつかのアイデア:
最近の github コミット/最終更新時間を確認します。しかし、それがうまく機能する場合はどうでしょうか? その場合は更新する必要はありません。
星。しかし、星がすべてずっと前に発行され、料理本が最新のものだったらどうなるでしょうか?
解決されていない github の問題を確認します。これが良いかもしれません。
事前にレシピと属性を確認してください。ただし、ターゲット ソフトウェアの設定がすでにわかっている場合は、より効果的です。
貢献者の数を見て、それが短期的なサイド プロジェクトなのか、それともメンテナンスが継続される可能性が高いのかを評価します。
実行してエラーの種類を確認します。私が上で選択したものはすべて、OS または管理しているプログラムの最新の更新を追跡していないが、それを可能にする属性ベースの柔軟性がないクックブックのように見えます。
どこかに評価サイトがあるのでしょうか?グーグルで検索すると料理のサイトが出てきます
申し訳ありませんが、この質問は本質的に広範囲にわたるものであることは承知しています。しかし、再利用が Chef エコシステムの目標である場合、ラップする最適なコミュニティ クックブックを慎重に選択することが、エンド ユーザーの成功の鍵となることは間違いありません。Chef 自体の使用に関する技術的なスキルは別として。
どうやってやるんですか? ヒューリスティックスは何ですか?
githubに多数の類似の料理本があることから、これはない解決された問題。
答え1
個人的には、まずスーパーマーケットでダウンロード数を調べ、次に github ページを直接確認します。ソースがパブリック バージョン管理されていない場合は、先に進みます。
コードを見るときは、自分自身に次のような質問をしながら、ざっと目を通すだけです。
a) この料理本はただ一つのことだけを扱っているのか
アプリケーションをインストールするクックブックであれば、それだけを実行したいのです。システムの他の部分に干渉することは望んでいません。(例: 物理ディスク、EBS ボリュームなど)
b) このクックブックを使用すると、拡張可能になるか
リソースを公開するライブラリ クックブックの場合、それらのリソースが、使用するサブリソースに対して適切な制御を提供する必要があります。限定されたユース ケースのテンプレートを作成するが、テンプレート ソースまたはテンプレート変数を適切に変更できないリソースには我慢できません。
レシピベースのクックブックの場合、関連するほとんどの部分を属性を通じて構成できるようにする必要があります。ラッパー クックブックにまったく抵抗はありませんが、他のリソースをラップする手間があまりかからないように、いくつかの属性を設定できれば、はるかに満足です。