【发布时间】:2019-08-01 07:26:43
【问题描述】:
我正在 Chef 的 ruby_block 中读取文件。我将每一行存储在一个数组中。我希望它们可以在我的厨师食谱中的任何地方访问,所以我做了一些研究,发现我可以使用节点对象。
问题是每当我使用节点对象时,它只存储最后一行而不是每一行。
这是我的代码。有什么建议吗?
ruby_block "name" do
block do
CSV.foreach('/tmp/users.txt') do |row|
node['username']=row
end
end
action :run # see actions section below
end
好的,现在这是我的代码。
ruby_block 'name' do
block do
CSV.foreach('/tmp/users.txt'){ |row| node.run_state['username123'] |= [row] }
end
end
directory "/sftp/#{node.run_state['username123']}/incoming" do
action :create
recursive true
end
我的 chef-run 输出结果是。
directory[/sftp//incoming] action create
- create new directory /sftp//incoming
【问题讨论】:
标签: ruby chef-infra