【发布时间】:2017-09-27 02:21:40
【问题描述】:
我是 Chef 和 Test-kitchen 的新手,我正在尝试使用随机 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 并且内容为:default['directoryName'] = 'sample_folder',它就像一个魅力,但我需要使用一个 JSON 文件来在公司范围内存储参数。
请你帮我找出我做错了什么。
【问题讨论】:
标签: json chef-infra test-kitchen