0

私はキッチン/シェフを学ぼうとしており、ここで提供されているチュートリアルに従っています

http://kitchen.ci/docs/getting-started/installing

今、私は問題ではなく質問に行き詰まっています。与えられたチュートリアルは git-cookbook を作成します。「git」がインストールされたボックスを作成するようにキッチンに指示していることを知りたいですか?

metadata.rb(チュートリアルに従って)何も提供するのではなく、空のチュートリアル全体をやり直しました。空のままにして実行しましkitchen init --driver=kitchen-vagrantた。予想どおり、git がインストールされていないクックブック/ボックスが作成されました。

次に、次の行を追加しましたmetadata.rb

name "git"
version "0.1.0"

そして走っkitchen converge default-ubuntu-1204た。gitがインストールされたクックブック/ボックスが更新されることを期待していましたが、そうではありませんでした。

もう一度やらなければなりませkitchen initんか?私の既存の .kitchen.yml ファイルと私が行ったすべての変更を上書きしませんか? 既に作成されたクックブック/ボックスにツールをインストールする最良の方法は何ですか?

4

1 に答える 1

1

探している変更を取得するには、どこかで git レシピを実際に使用する必要があるようです。どちらかで

include_recipe 'cookbookname::recipename' 

編集: include_recipe リソースは、ランリストで使用しているレシピに入ります。含めるレシピ全体を、含めるファイルにコピー/貼り付けすることと考えてください。

または、.kitchen.yml のスイートのランリストに追加することによって

suites:
- name: <suite name>
  run_list:
  - recipe[<cookbookname::recipename>]
  - recipe[<cookbookname::recipename>]...

収束すると、キッチンは構成の違いを検出し、指示が​​あれば新しいものを追加しますが、明示的な指示がない限りアイテムを削除しません。

于 2015-08-04T19:54:18.743 に答える