Chef-test-kitchen-setup
シェフ-キッチンのセットアップをテストする
Test Kitchenは、シェフの統合テストフレームワークです。 クックブックを使用してインスタンス化および収束されると、VM上で実行されるテストレシピの作成が可能になります。 テストレシピはそのVMで実行され、すべてが期待どおりに機能するかどうかを確認できます。
- ステップ1 *-テストキッチンRuby gemおよびテストキッチンvagrant gemをインストールして、テストキッチンがテストのスピンアップにvagrantを使用できるようにします。
ステップ2 *-テストキッチンをセットアップします。 これを行うには、クックブックディレクトリに *.kitchen.yml を作成します。
上記のコードの一部では、迷走者がVMをスピンアップする必要があることを定義し、OmnibusでターゲットノードにChefをインストールすることを定義しています。
2番目の部分では、クックブックをテストするプラットフォームを定義します。 Vagrantは常に新しいインスタンスを作成および破棄します。 Vagrantファイルを使用してスピンアップするVagrant VMの副作用を心配する必要はありません。
テストキッチンは、運用環境に似た一時的な環境でクックブックを実行およびテストするのに役立つ一時的な環境と考えることができます。 テストキッチンを有効にすると、テスト、運用前、および運用環境に実際に展開する前に、特定のコードが動作していることを確認できます。 テストキッチンのこの機能は、クックブックを実際の作業環境に配置する前に、多くの組織がセットで従います。
テストキッチンワークフロー
以下は、テストキッチンワークフローに含まれる手順です。
Chefを使用してクックブックを作成する
次のコードを使用してクックブックを作成します。
以下は、上記のコードの出力として作成されたクックブック構造です。
キッチン構成ファイルのテスト
.kitchen.yamlファイル
ドライバー-マシンを管理するソフトウェアを指定します。
プラットフォーム-これは、ターゲットオペレーティングシステムを指定します。
スイート-仮想環境に適用するものを定義します。 ここでは、複数の定義を定義します。 実行リストを定義する場所であり、実行するレシピと実行する必要があるシーケンスを指定します。
コマンドを順番に実行する
キッチンリスト
キッチンクリエイト
キッチンコンバージ
テストのセットアップ
キッチンログインは、テストVMが正しくプロビジョニングされているかどうかをテストするために使用されます。