8

テストキッチンで、毎回インスタンスを破棄して再作成する代わりに、作成されたインスタンスを更新する方法はありますか? たとえば、kitchen.yml を変更してその変更を確認したい場合、destroy/create 全体の実行には時間がかかることがあります。

4

3 に答える 3

7

使用しているプロバイダによって異なります - はい。

まず、いくつかのライフサイクル ステップがあります。

  1. kitchen create- これにより、インスタンスが作成されます。に相当しvagrant up --no-provisionます。
  2. kitchen converge- これにより、インスタンスが収束 (プロビジョニング) されます。に相当しvagrant provisionます。
  3. kitchen verify- これにより、統合後のテスト (ServerSpec や bats など) が実行されます。vagrant には同等のものはありません。
  4. kitchen test- 上記の 3 つのコマンドを 1 つのシーケンスにラップします。

Test Kitchen には の概念がありませんvagrant reload。これは、あなたの例で説明しているようです。ただし、次のような方法でリロードを実行できます。

cd .kitchen/suite_name && vagrant reload

コマンドラインから。

于 2014-06-27T17:22:10.800 に答える
0

Vagrant を使用している場合は、コマンドvagrant global-statusを実行してマシン ID を取得し、それを使用してリロードしてください。このようなもの:

$ vagrant global-status
42c66e1c  default virtualbox poweroff /path/to/your/machine/kitchen-vagrant/webserver-ubuntu-1404 
1c135a2e  default virtualbox running  /path/to/other/machine/.kitchen/kitchen-vagrant/kitchen-machines-webserver-ubuntu-1404
$ vagrant reload 1c135ae --provision
于 2015-08-08T15:10:29.173 に答える