私のチームは多数のシェフの料理本を作成しました。ノードが適切に構成されていることを確認するテストの作成を開始できるように、どのメソッドとフレームワークを検討する必要があるのか疑問に思っていましたか?
私のチームは多数のシェフの料理本を作成しました。ノードが適切に構成されていることを確認するテストの作成を開始できるように、どのメソッドとフレームワークを検討する必要があるのか疑問に思っていましたか?
回答:
ありますcucumber-chef
その宝石を使用しています「シェフとテスト駆動インフラ」 - -ルビーの宝石と最近リリースされたブックネルソン・スミスらhttp://www.cucumber-chef.org/は、
私のgithubウォッチリストからこれを思い出してください:https : //github.com/gregretkowski/vmth/
VMTH(仮想マシンテストハーネス)は、パペットポリシー、シェフレシピ、リリース展開スクリプトなど、インフラストラクチャの自動化を単体テストするメカニズムを提供します。最新のVMモニター(qemuなど)の機能を使用してシステム状態のスナップショットを作成し、リセットします各テスト後の状態。これにより、VMインスタンスで一連のテストをすばやく連続して実行できます。
ここでの答えのいくつかは少し古いようです。CIおよびローカルテストについては、VagrantをサポートしているTest Kitchenなどのテストハーネスツールを活用することを検討しています。
今日の多くのクラウドおよび仮想化ソリューション(EC2、Digital Ocean、Vagrant、Dockerなど)に対してcoobkooksを実行できます。
また、今日存在する多くのインフラストラクチャテストツールの1つを実行できるプラグインもあります。
私の経験では、実際にこれを行う唯一の方法は、ステージング環境と注意深い開発プラクティスを使用することです。やるべき実際の作業は非常に面倒で壊れやすいアウトからかって、コミットまたはプッシュで実行されているCIのテストスイートは、多くのシェフは、おそらく多くの良い本で私の主な経験です人形、よりですが(書き込みへの努力と維持)、とんでもない時間をかけて実行します。
編集
これを書いた直後に、ユニオンファイルシステムとかなりの量の足場を使って、Chef / Puppetレシピの合理的に効率的な「ユニット」テストを行う方法があるかもしれないことに突然気付きました。ただし、この分野で既に誰かが行ったことをそこに見つけることはできません。私は自分自身がプロジェクトを見つけたかもしれません。