シェフとテストキッチンが新しく、ランダムなJSONファイルを属性または環境(好ましくは属性)として使用しようとしていますが、残念ながらJSONにアクセスできないレシピからの値。シェフとテストキッチンを使用してJSON値にアクセスする
uat
├── attributes
│ ├── dev.json
│ ├── .kitchen
│ │ └── logs
│ │ └── kitchen.log
│ └── prod.json
├── Berksfile
├── Berksfile.lock
├── chefignore
├── environments
│ ├── dev.json
│ └── prod.json
├── Gemfile
├── Gemfile.lock
├── .kitchen
│ ├── default-windows.yml
│ └── logs
│ ├── default-windows.log
│ └── kitchen.log
├── .kitchen.yml
├── metadata.rb
└── recipes
├── default.rb
├── prep.rb
└── service_install.rb
これは.kitchen.yml:
---
driver:
name: machine
username: sample_user
password: sample_pass
hostname: 192.168.1.102
port: 5985
provisioner:
name: chef_zero
json_attributes: true
environments_path: 'environments/dev'
platforms:
- name: windows
suites:
- name: default
run_list:
- recipe[uat::default]
これはdev.jsonある
私は、次のディレクトリ構造を使用しています:
私は属性で something.rbフォルダやコンテンツを作成した場合directory "C:/Users/test/#{node['directoryName']}" do
recursive true
action :create
end
:[ 'directoryNameで'] = 'sample_folderを' DEFAULT、それを
このは、レシピprep.rbです魅力的ですが、会社全体のパラメータを格納するJSONファイルを使用する必要があります。
私が間違っていることを見つけるのを助けてください。
ありがとう、それはうまくいきました。 を ': default_argumentを使用せずにJSONを使用する方法があり{ 「default_attributesは」:{} }' – user3283749
いいえ、あなたは環境オブジェクトのスキーマと一致しなければなりません。 – coderanger