4

アプリケーションのデプロイに使用しているシェフのレシピがあります。レシピが実行されるたびに、(現在のタイムスタンプを持つ) 新しい「リリース」ディレクトリが作成され、古い「リリース」ディレクトリが削除され、最新の「リリース」ディレクトリが 5 つだけ残ります。(Capistrano の keep_releases の仕組みに似ています)。

その機能をテストするには、「デプロイ」レシピを 6 回実行し、「リリース」ディレクトリが 5 つしかないことを確認する必要があります。run_list に同じレシピを複数回入れることはできないようです。

何か案は?

ありがとう!

4

3 に答える 3

4

2019 年更新: https://docs.chef.io/config_yml_kitchen.htmlmultiple_convergeの説明に従って使用

古い解決策:

重複したスイート名を使用して、ノードを 2 回 (またはそれ以上) 収束させることができます。

たとえば、.kitchen.yml で「デフォルト」スイートを 2 回実行します。

suites:
  - name: default
    run_list:
      - recipe[your-cookbook::recipe]
    attributes:
  - name: default
    run_list:
      - recipe[your-cookbook::recipe]
    attributes:

ただし、毎回ノードを収束することなく、ChefSpecを使用してテストしたい場合があります。

test-kitchen 1.4.0 + kitchen-vagrant 0.18.0 でテスト済み

于 2015-05-22T02:25:10.360 に答える