0
我是厨师和测试厨房的新手,我试图使用随机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:
{
"groupID": "Project-name",
"directoryName": "sample_folder",
"environmentType": "UAT",
}
这是配方prep.rb:
directory "C:/Users/test/#{node['directoryName']}" do
recursive true
action :create
end
如果我创建something.rb在属性文件夹,并与内容:默认[ '目录名'] = 'sample_folder',它像魅力一样工作,但我需要使用JSON文件来存储公司范围内的参数。
你能帮我找到我做错了什么吗?
谢谢,那很好用。 是否有使用JSON不使用default_argument道: '{ “default_attributes”:{} } ' – user3283749
不,你一定要配合环境对象的架构。 – coderanger