2016-11-17 2 views
0

常にオンになっているサーバーに対してキッチンテストを実行できるかどうかを確認したいだけです。ドライバーを使用せずにサーバーに対してキッチンテストを実行できますか?

私が知っているのは、あなたが自由に作成して破壊できるVMに対するCookbookをテストするのが理想的だと知っていますが、WinRMまたはSSHだけを使用してテストを収束させて実行する方法はありません。

答えて

2

ServerspecまたはInSpecを使用してテストを実行するとします。検証者によりますが、およびprovisionerセクションの.kitchen.ymlはオプションです。それらをスキップすると、はdummyドライバを使用します。だから、ドライバーkitchen listせずに次のようになります。

$ kitchen list 
Instance       Driver Provisioner Verifier Transport Last Action 
... 
ci-server-ubuntu-1604    Dummy ChefSolo  Serverspec Ssh  <Not Created> 

と検証は、SSHをサポートしているかのWinRM場合はkitchen verifyを実行することができます。 Serverspec verifier canそれを行う、Inspec verifier can do it as well

しかし、マシン上でテストを実行したい場合は、テストキッチン全体が必要かどうかはわかりません。 InSpecServerspecの両方をスタンドアロンで実行できます。

1

あなたは「ドライバを一切使用していないのですか? the Kitchen documentationによると:

このファイルには、ドライバーとしてベイグラントを使用して、追加の設定は必要ありませんそれは、キッチン

によって

を使用するデフォルトのドライバーだから使用しないようにする方法はないようですドライバ。ただし、作成または破棄するコマンドを実行しない限り、常に再統合してテストできます。

私はあなたが進むならば、それは、心の中で二つのことを保つことが重要だと思う:

  1. あなたはツールにagainst the way they're intendedを使用しているので、将来の変化は、一般的なユーザーのワークフローよりも、あなたのワークフローを破る可能性が高くなります。

  2. シェフが新鮮なビルドでどのように動作するかは本当にテストしていません。未知の現在の状態から目的の状態に到達できるかどうかだけをテストしています。非常に頻繁にテストしないと、最初からサーバーを構築することはできません。

スタンドアロンの方法で既存のテストツールを実行することを検討し、テストを収束して実行したい場合のみ。

+0

これはSzymon'sと同様に素晴らしい答えです。私は答えとして1つだけマークすることができます。しかし、ありがとう。これは役に立ちました。 – arjabbar

2

おそらくproxy driverをしたい:

driver: 
    name: proxy 
    host: testserver.example.com 

はあなたが非常に悪いことであるテスト、間のアイソレーションを得ないだろう覚えておいてください。

+0

リンクをありがとう。このドライバーはどこにも書かれていません。 – arjabbar

+0

これは言われているように、使い方が悪いので、かなりニッチです。 – coderanger

関連する問題